多个芹菜凸轮进程在同一台服务器上

时间:2013-09-01 06:37:56

标签: celery django-celery

我有两个celerycam进程配置为在主管下运行。这是我的supervisord.conf的一部分:

[program:dev1_celerycam]    
directory = /var/www/dev1.example.com
command = /usr/bin/python2.7 /var/www/dev1.example.com/manage.py celerycam --logfile=/var/log/supervisor/dev1_celerycam.log --workdir=/var/www/dev1.example.com
stderr_logfile = /var/log/supervisor/dev1_celerycam_error.log
stdout_logfile = /var/log/supervisor/dev1_celerycam.log
exitcodes=0,2
priority=993

[program:dev_celerycam]    
directory = /var/www/dev.example.com
command = /usr/bin/python2.7 /var/www/dev.example.com/manage.py celerycam --logfile=/var/log/supervisor/dev_celerycam.log --workdir=/var/www/dev.example.com
stderr_logfile = /var/log/supervisor/dev_celerycam_error.log
stdout_logfile = /var/log/supervisor/dev_celerycam.log
exitcodes=0,2
priority=995

此外,我在supervisord.conf中有两个celeryd进程。它们在同一台服务器上启动完美。但对于celerycam流程之一,我接下来会在supervisord.log中找到:

2013-09-01 09:35:12,546 INFO exited: dev_celerycam (exit status 1; not expected)
2013-09-01 09:35:12,546 INFO received SIGCLD indicating a child quit
2013-09-01 09:35:15,555 INFO spawned: 'dev_celerycam' with pid 25504
2013-09-01 09:35:16,540 INFO exited: dev_celerycam (exit status 1; not expected)
2013-09-01 09:35:16,540 INFO received SIGCLD indicating a child quit
2013-09-01 09:35:17,542 INFO gave up: dev_celerycam entered FATAL state, too many start retries too quickly

对于supervisord restart,dev_celerycam或dev1_celerycam会发生这种情况。其中一个开始很好而另一个失败。看起来它是随机发生的。

有没有机会让两个celerycam进程都工作?

1 个答案:

答案 0 :(得分:0)

celerycam进程都以某种方式在同一路径中创建了pid文件。必须为每个celerycam进程添加--pidfile参数。