gpt4 book ai didi

celery - 在 Supervisord 中激活 vitualenv

转载 作者:行者123 更新时间:2023-12-02 21:15:34 24 4
gpt4 key购买 nike

了解一点背景知识。我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com