Chr*_*zmo 12 python multithreading daemon cherrypy
我们正在设计一个基于CherryPy的系统,除了提供Web请求外,还需要并行执行任务/作业.我们希望它是作为守护进程运行的单个进程,并为所有并行作业(如计划任务或在线收集数据)创建线程.
我一直在浏览CherryPy文档,并知道它是为所有用户请求创建线程的线程池.但是,我似乎无法找到有关如何为自定义作业创建和管理线程的文档.CherryPy是否有一个我们可以挂钩的线程处理程序,或者我们应该编写我们自己的挂钩到CherryPy的处理程序吗?
fum*_*chu 14
订阅Monitor实例:
from cherrypy.process.plugins import Monitor
def foo():
my.store.collect_data('things', 'stuff')
Monitor(cherrypy.engine, foo, frequency=300).subscribe()
Run Code Online (Sandbox Code Playgroud)
这将foo在其自己的线程中每300秒运行一次该函数,该线程将在您调用engine.start时启动并在您调用时停止engine.stop(或在进程退出时).