django+celery beat 无法触发任务?

1.django+celery beat无法触发任务,celery beat有日志记录,但实际不运行
2.代码复现如下:
app/tasks.py

from celery.task import periodic_task


@periodic_task(run_every=10,name="task.get.list")
def task_get_list():
    with open('/tmp/1.log','a') as f:
        f.write('aaa\n')

celery beat log :

[2017-06-21 17:15:13,127: INFO/MainProcess] Scheduler: Sending due task task.get.list (task.get.list)
[2017-06-21 17:15:23,129: INFO/MainProcess] Scheduler: Sending due task task.get.list (task.get.list)
阅读 9.3k
2 个回答

起worker了么?

默认djanao-beat使用的队列是celery,需要在peridical_task增加配置把任务写到指定的队列当中,具体代码配置如下:


@periodic_task(run_every=10, name="get.jira.list",
               queue='queue.ops.task', options={'queue': 'queue.ops.task'})

然后再增加消费端就可以了。
celery -A jira worker -c 2 -Q queue.ops.task -n "deploy.%h" -B -l info

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题