运行与主管celeryd_multi(Running celeryd_multi with supe

2019-07-22 12:30发布

我与djcelery和主管的工作。 我当时正在与主管芹菜,一切工作正常,当我意识到我需要改变它的芹菜多都分手了。 如果我在一个终端上运行celeryd_multi它的工作原理,但总是在后台运行,如主管需要在前台运行的命令有问题的所在。

这是我的celery.ini

[program:celery_{{ division }}]
command = {{ virtualenv_bin_dir }}/python manage.py celeryd_multi start default mailchimp -c:mailchimp 3 -c:default 5 --loglevel=info --logfile={{ log_dir }}/celery/%n.log --pidfile={{ run_dir }}/celery/%n.pid --schedule=/home/celery/celerybeat-schedule --settings={{ django_settings_python_path }}
autorestart = false
autostart = false
directory = {{ repo_dir }}/{{ division }}
user=celery
numprocs = 1
redirect_stderr = True
stopwaitsecs = 10
startsecs = 10
priority = 997
startretries = 3

下面是我把在终端工作正常命令

python manage.py celeryd_multi start default mailchimp -c:mailchimp 3 -c:default 5 --loglevel=info --logfile=/var/log/celery/%n.log --pidfile=/var/log/celery/%n.pid --schedule=/home/celery/celerybeat-schedule --settings=lively.settings_gunicorn

Answer 1:

芹菜的主要开发者回复 (2012年3月23日):

我不知道任何简单的解决方案使用的上司启动多个celeryd实例,但你总是可以使用一个配置为每个。 也许别人有这方面的解决方案,但。

通用-的init.d / celeryd脚本使用celeryd的多启动多台服务器,并且可以使用CELERYD_NODES /etc/init.d/celeryd变量设置一个号码,或者工作人员的名单。 我不知道怎么supervisord可以作出与celeryd的多的工作,因为它可能会需要知道哪所产生的PID应监测与否(也许supervisord插件可以写?)

- 问索利姆



Answer 2:

的Daemontools有一个工具,叫做fghack旨在使后台进程“留”的前景。

pidsig理应是类似的,但代理信号:

http://permalink.gmane.org/gmane.comp.sysutils.supervision.general/2010

https://github.com/chexum/pidsig/blob/master/pidsig.c

我相信,这两个基本的包装等候在中背景的孩子。



文章来源: Running celeryd_multi with supervisor