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



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

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

我想知道这方面的最佳实践是什么?

如web2py文档中所述,要连续重新运行任务,您只需在任务排队时指定它:

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 功能:

@reboot root    *your_controller/your_function_that_calls_queue_task

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

在web2py中似乎没有真正的机制。

有一些技巧可以做,在启动时连续重复任务或安排,但据我所知,web2py调度程序需要大量工作。

最好的选择是仅使用此web2py功能,并使用芹菜或类似产品进行高级使用。

最新更新