python – CherryPy BackgroundTask

我需要一个调用cherrypy.process.plugins.BackgroundTask的简单示例.

我试了一下,但似乎无法让它工作(文档中没有例子).

这是我的代码:

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

最佳答案 简短的回答是,你要调用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属性(总线在其他插件的构造函数中显式设置,但不是这个类).我不认为这个错误与我未能完成这项工作有关.

点赞