【发布时间】:2014-04-02 10:24:19
【问题描述】:
我正在使用 Celery http://celery.readthedocs.org/en/latest/index.html
我需要在特定时刻运行周期性任务。但我只想在启动 celery worker 后开始我的任务。
为此,我正在尝试创建自己的“PeriodicTask”。但我正在处理一个问题。
当我在另一个终端启动工作器并执行 run_tasks.py 时,我的周期性任务似乎只执行一次。
如何让我的周期性任务每 3 秒运行一次。
这是代码的一部分。
开始芹菜:
celery worker --app=worker_manager.celery --loglevel=info
文件tasks.py
class MyPeriodicTask(PeriodicTask):
name = "periodic-task"
run_every = timedelta(seconds=3)
def run(self, **kwargs):
logger = self.get_logger(**kwargs)
logger.info("Running periodic task!")
文件run_tasks.py
tasks.register(MyPeriodicTask)
wmi_collector_task = worker_app.tasks[MyPeriodicTask.name]
提前致谢。
【问题讨论】:
标签: python scheduled-tasks celery worker periodic-task