芹菜殴打有时会停止工作

时间:2017-04-14 21:33:50

标签: python django celery

我在Django项目中使用最新的稳定Celery(4)和RabbitMQ。

RabbitMQ在本地网络中的单独服务器上运行。并且定期跳动只是停止向工作人员发送任务而没有任何错误,只有重新启动它才能解决问题。

在worker中没有例外(在日志中检查&我也使用Sentry来捕获异常)。它只是停止发送任务。

服务配置:

[Unit]
Description=*** Celery Beat
After=network.target

[Service]
User=***
Group=***
WorkingDirectory=/opt/***/web/
Environment="PATH=/opt/***/bin"
ExecStart=/opt/***/bin/celery -A *** beat --max-interval 30

[Install]
WantedBy=multi-user.target

有可能解决这个问题吗?还是有什么好的选择吗? (Cron似乎不是最佳解决方案)。

1 个答案:

答案 0 :(得分:3)

你的描述听起来很像这个开放的bug:https://github.com/celery/celery/issues/3409

那里有很多细节,但是高级错误描述是如果丢失了与RabbitMQ的连接,它无法重新获得连接。

不幸的是,我无法看到任何人都明确解决了这个问题。

您可以先使用以下方法调试:

ExecStart=/opt/***/bin/celery -A *** beat --loglevel DEBUG --max-interval 30