Python 在Django部署期间重新启动芹菜节拍和工人
我使用的是Python 在Django部署期间重新启动芹菜节拍和工人,python,django,celery,Python,Django,Celery,我使用的是芹菜==4.1.0和django芹菜节拍==1.1.0 我和Django一起经营gunicorn+芹菜+拉比MQ 这是我创建beat和worker的配置 celery -A myproject beat -l info -f /var/log/celery/celery.log --detach celery -A myproject worker -l info -f /var/log/celery/celery.log --detach 在Django部署期间,我将执行以下操作:
芹菜==4.1.0
和django芹菜节拍==1.1.0
我和Django一起经营gunicorn+芹菜+拉比MQ
这是我创建beat和worker的配置
celery -A myproject beat -l info -f /var/log/celery/celery.log --detach
celery -A myproject worker -l info -f /var/log/celery/celery.log --detach
在Django部署期间,我将执行以下操作:
rm -f celerybeat.pid
rm -f celeryd.pid
celery -A myproject beat -l info -f /var/log/celery/celery.log --detach
celery -A myproject worker -l info -f /var/log/celery/celery.log --detach
service nginx restart
service gunicorn stop
sleep 1
service gunicorn start
我想重新启动芹菜节拍和工人,这似乎是逻辑工作。但我注意到芹菜在部署期间开始使用越来越多的内存,在几次部署之后,我达到了100%的内存使用率。我尝试了不同的服务器设置,但似乎没有关系。rabbitmq可能是内存使用率高的原因。你能安全地重启兔子吗
您还可以确认重新启动后是否有预期的工作人员数量吗?rabbitmq可能是内存使用率高的原因。你能安全地重启兔子吗
您还可以确认重新启动后是否有预期的工作线程数吗?您将为每次部署启动2个新工作线程,而不会停止/杀死以前的工作线程 在部署过程中,使用
kill -9 $PID
kill -9 `cat /var/run/myProcess.pid`
或者,你也可以用一根绳子杀死所有的工人
pkill -9 celery
现在你可以像往常一样开始工作了
celery -A myproject beat -l info -f /var/log/celery/celery.log --detach
celery -A myproject worker -l info -f /var/log/celery/celery.log --detach
每次部署都将启动2个新工作进程,而不会停止/杀死以前的工作进程 在部署过程中,使用
kill -9 $PID
kill -9 `cat /var/run/myProcess.pid`
或者,你也可以用一根绳子杀死所有的工人
pkill -9 celery
现在你可以像往常一样开始工作了
celery -A myproject beat -l info -f /var/log/celery/celery.log --detach
celery -A myproject worker -l info -f /var/log/celery/celery.log --detach
使用
kill-9
的建议充其量也值得怀疑。套用Randal L.Schwartz的话,如果没有-9
,进程真的不会死,那么它就是有缺陷的,应该从系统中删除;如果你知道自己在做什么,除非你真的必须使用-9
。使用kill-9
的建议充其量也不可靠。套用Randal L.Schwartz的话,如果没有-9
,进程真的不会死,那么它就是有缺陷的,应该从系统中删除;如果你知道你在做什么,你就不要使用-9
,除非你真的必须这么做,。