芹菜节拍有时会停止工作
Celery beat sometimes stops working
我在我的 Django 项目中使用最新的稳定版 Celery (4) 和 RabbitMQ。
RabbitMQ 运行 在本地网络中的单独服务器上。并且 beat 周期性地停止向 worker 发送任务,没有任何错误,只有重新启动它才能解决问题。
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 似乎不是最佳解决方案)。
您的描述听起来很像这个未解决的错误:https://github.com/celery/celery/issues/3409
那里有很多细节,但高级错误描述是,如果与 RabbitMQ 的连接丢失,则无法重新获得连接。
不幸的是,我看不到任何人肯定已经解决了这个问题。
您可以使用以下方法开始调试:
ExecStart=/opt/***/bin/celery -A *** beat --loglevel DEBUG --max-interval 30
我在我的 Django 项目中使用最新的稳定版 Celery (4) 和 RabbitMQ。
RabbitMQ 运行 在本地网络中的单独服务器上。并且 beat 周期性地停止向 worker 发送任务,没有任何错误,只有重新启动它才能解决问题。
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 似乎不是最佳解决方案)。
您的描述听起来很像这个未解决的错误:https://github.com/celery/celery/issues/3409
那里有很多细节,但高级错误描述是,如果与 RabbitMQ 的连接丢失,则无法重新获得连接。
不幸的是,我看不到任何人肯定已经解决了这个问题。
您可以使用以下方法开始调试:
ExecStart=/opt/***/bin/celery -A *** beat --loglevel DEBUG --max-interval 30