我在Fedora盒子上运行Celeryd / RabbitMQ,与MySQL通信 数据库在一个单独的框中。我注意到,在极少数情况下,如果 甚至连接MySQL数据库都有一点问题 (即使是几秒钟),芹菜也会因错误而崩溃:
OperationalError: (2003, "Can't connect to MySQL server on
'mydatabasedomain' (111)")
即使数据库再次可用,也无法重新连接。
目前,我被迫手动重启celeryd服务 芹菜再次运行。是否有更优雅和自动的方式 从这些类型的事件中恢复?是否有芹菜的特征 只是安静地等待,记录OperationalError,然后重新连接 完全退出?
答案 0 :(得分:0)
我不知道有什么方法可以通过简单地使用配置标志来解决这个问题,但您可以考虑使用主管(s。http://supervisord.org)运行您的工作人员。
芹菜文档(http://celery.readthedocs.org/en/latest/tutorials/daemonizing.html#supervisord)中甚至提到了这一点,包括一些示例配置文件的链接。