作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
了解一点背景知识。我正在使用 Supervisor 来监视 django-celery 进程。我需要能够设置 virutalenv 然后启动 celeryd 进程。
我目前的做法是在我拥有的 supervisor.conf
文件中
[program:celery]
command = /srv/worker.sh
stdout_logfile = /srv/supervisor.log
stderr_logfile = /srv/supervisor.log
然后在worker.sh
中我有
/bin/su - username -c "source /srv/virtualenvs/bin/activate; python /srv/manage.py celeryd
这有点有效。问题是,当我与主管一起 supervisorctl stop celery
时,它不会杀死工作人员。他们仍然存在。我在想,如果我能够在主管中激活 virtualenv,那么一切都会比放入 shell 脚本中更好。
最佳答案
TERM 信号被发送到 shell 脚本而不是 celeryd。要么不要使用它(因为您可以从supervisord conf中设置用户),要么使用exec。
无论如何,最佳实践是(如果您不关心丢失某些任务):短stopwaitsecs和killasgroup=true。
例如:
[program:celery]
command=celeeryd blablabla
user=username
stopwaitsecs=10
killasgroup=true
关于celery - 在 Supervisord 中激活 vitualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791794/
我正在与我的项目和 virtualenv 一起工作,并在某个地方读到这不是最佳实践,而且它弄乱了我的 git 存储库。 现在我已经清理了我的项目文件夹(pyHoliday)并更新了 gitignore
了解一点背景知识。我正在使用 Supervisor 来监视 django-celery 进程。我需要能够设置 virutalenv 然后启动 celeryd 进程。 我目前的做法是在我拥有的 supe
我是一名优秀的程序员,十分优秀!