我在django支持的网站中使用Celery
和Celerybeat
。服务器操作系统为Ubuntu 16.04。通过使用celerybeat,芹菜工作者每10分钟完成一次工作。有时工作人员会关闭而没有任何有用的日志消息或错误。
因此,我想找到一种方法来检测celery worker(不是Beat)的状态(开/关),如果停止,请自动重新启动。
我怎样才能做到这一点?
谢谢
答案 0 :(得分:0)
在生产中,您应该使用Supervisor / Upstart / Systemd / ... / ....作为守护程序[1]运行Celery,Beat,APP服务器等。Celery文档中有关于此的部分。 [2]
我最喜欢的工具是Supervisord [3]。这是Celery的Supervisord示例配置:https://github.com/celery/celery/tree/master/extra/supervisord,这里的https://github.com/illagrenan/ubuntu-supervisor-configuration是有关在Ubuntu上安装Supervisord的教程。
(...)Supervisord将进程作为其子进程启动,并且可以 配置为在崩溃时自动重新启动它们。 (...)