Skip to main content
 首页 » 编程设计

python之Web2py 调度程序之连续重新运行任务和在启动时添加任务的最佳实践

2024年10月17日40leader

我想在应用程序启动时向队列中添加一个任务,目前正在向主 db.py 文件中添加一个 scheduler.queue_task(...)。这并不理想,因为我必须在此文件中定义任务函数。

我还希望任务连续每 2 分钟重复一次。

我想知道这方面的最佳做法是什么?

请您参考如下方法:

As stated in web2py doc , 要连续重新运行任务,您只需在任务排队时指定它:

scheduler.queue_task(your_function, 
                     pargs=your_args, 
                     timeout = 120,  # just in case 
                     period=120,     # as you want to run it every 2 minutes 
                     immediate=True, # starts task ASAP 
                     repeats=0       # just does the infinite repeat magic 
                     ) 

要在启动时对其进行排队,您可能需要使用 web2py cron feature这个简单的方法:

@reboot root    *your_controller/your_function_that_calls_queue_task 

不要忘记启用此功能(-Y,文档中有更多详细信息)。