【问题标题】:crontab not working with celery multi startcrontab 不能与 celery 多启动一起使用
【发布时间】:2014-06-13 10:50:39
【问题描述】:

我现在正在尝试让 Celery 工作一段时间。当我同步测试时,我所有的 crontab 都可以正常工作

sudo celery -A testdjango worker --loglevel=DEBUG --beat

但是当我这样做时

celery multi start -A testdjango w1 -l info

我的 crontab 都不起作用。我不知道为什么

注意:我尝试了其他计划间隔,就像 time delta 一样,同样的事情也会发生。

所以我相当肯定这不是 crontab 的事情,而是与我开始 celery multi 的方式有关。

此外,worker 开启得很好,因为我可以在 Celery Flower 中看到它,但没有执行任何任务。

【问题讨论】:

  • 您的日志文件是什么样的?问题可能存储在那里。如果您没有,您可以使用“mkdir -p /var/log/celery”创建文件夹,然后使用以下参数“--logfile=/var/log/celery/%n.pid”调用 c​​elery multi start "

标签: django celery celery-task


【解决方案1】:

所以,答案很简单

由于周期性任务需要Beat,只需在命令中添加--beat即可。

类似的东西

celery multi start -A testdjango w1 --beat -l info

【讨论】:

  • 我一直在寻找这个论点......你去吧,整个网络上唯一的答案!
  • @holms 是的,我也花了一段时间
  • 也许你知道,如何用队列指定几个工人(按名称)?
  • 如果我有多个队列,这将为每个队列重复任务
【解决方案2】:

或者,您可以在后台专门运行它,而不是在您的工作进程中运行 Beat(不推荐 3.1.18 的文档说)

celery beat -A testdjango --pidfile=/blah/beat.pid --detach

请务必将 pidfile 保存在某处,以便您以后也可以终止该进程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多