I use Celery
and Celerybeat
在我的 Django 驱动的网站中。服务器操作系统是Ubuntu 16.04。通过使用 celerybeat,芹菜工人每 10 分钟完成一项工作。有时,工作进程会在没有任何有用的日志消息或错误的情况下关闭。
所以,我想找到一种方法来检测 celery 工作器(而不是 Beat)的状态(开/关),如果它停止了,则自动重新启动它。
我怎样才能做到这一点?
谢谢
在生产中,您应该使用 Supervisor/Upstart/Systemd/.../.... 将 Celery、Beat、您的 APP 服务器等作为守护进程 [1] 运行,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 将进程作为其子进程启动,并且可以是
配置为在崩溃时自动重新启动它们。 (...)
Source: http://supervisord.org/introduction.html#introduction
- [1] https://en.wikipedia.org/wiki/Daemon_(计算)
- [2] http://docs.celeryproject.org/en/latest/userguide/daemonizing.html
- [3] http://supervisord.org/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)