我需要一个调用cherrypy.process.plugins.BackgroundTask的简单示例。
我试过了,但似乎不能让它工作(文档中没有示例)。
下面是我的代码:
def func():
print "blah blah blah"
wd = cherrypy.process.plugins.BackgroundTask(15000,func)
wd.run()发布于 2011-06-16 05:18:15
简短的答案是,您希望调用wd.start(),而不是wd.run()。
此外,由于BackgroundTask是守护进程,除非您正在执行其他操作来保持解释器的活动状态,否则当线程在后台浮动时Python将退出,无法看到输出。
这就是说,我一直在努力做一个可行的例子,但还没有成功。这是我正在使用的代码,这可能很糟糕:
import cherrypy.process.plugins
def func():
print "blah blah blah"
wd = cherrypy.process.plugins.BackgroundTask(15, func)
wd.start()
raw_input() # hit return when you are bored
wd.cancel()最后,查看BackgroundTask的源代码,我发现似乎是一个错误--异常处理程序依赖于一个不存在的self.bus属性(bus是在其他插件的构造函数中显式设置的,但不是这个类)。我不认为这个bug与我没能让它工作有关。
https://stackoverflow.com/questions/6363889
复制相似问题