我需要一个调用cherrypy.process.plugins.BackgroundTask
。
我尝试了但似乎无法使其工作(文档中没有示例)。
这是我的代码:
def func():
print "blah blah blah"
wd = cherrypy.process.plugins.BackgroundTask(15000,func)
wd.run()
答案 0 :(得分:2)
简短的回答是,您要拨打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
是显式设置在其他插件的构造函数中,但不是此类)。我不认为这个错误与我未能完成这项工作有关。