CherryPy BackgroundTask

时间:2011-06-15 20:25:21

标签: python cherrypy

我需要一个调用cherrypy.process.plugins.BackgroundTask

的简单示例

我尝试了但似乎无法使其工作(文档中没有示例)。

这是我的代码:

def func():
   print "blah blah blah"
wd = cherrypy.process.plugins.BackgroundTask(15000,func)
wd.run()

1 个答案:

答案 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是显式设置在其他插件的构造函数中,但不是此类)。我不认为这个错误与我未能完成这项工作有关。