芹菜工作人员如何优雅地重启? [英] How do I restart celery workers gracefully?
本文介绍了芹菜工作人员如何优雅地重启?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在发布新版本以更新工作人员的代码时,如何优雅地启动芹菜工作?
While issuing a new build to update code in workers how do I restart celery workers gracefully?
编辑:
我打算做的是这样的事情。
What I intend to do is to something like this.
- 工作人员正在运行,可能是将一个100 MB的文件上传到S3
- 新的构建来自
- 代码有变化
- 构建脚本向工人发送信号
- 使用新代码启动新员工
- Worker is running, probably uploading a 100 MB file to S3
- A new build comes
- Worker code has changes
- Build script fires signal to the Worker(s)
- Starts new workers with the new code
- Worker(s) who got the signal after finishing the existing job exit.
推荐答案
>重新启动工作人员的新推荐方法记录在这里 http://docs.celeryproject.org/en/latest/userguide/workers.html#restarting-the-worker
The new recommended method of restarting a worker is documented in here http://docs.celeryproject.org/en/latest/userguide/workers.html#restarting-the-worker
$ celery multi start 1 -A proj -l info -c4 --pidfile=/var/run/celery/%n.pid
$ celery multi restart 1 --pidfile=/var/run/celery/%n.pid
根据 http://ask.github.com /celery/userguide/workers.html#restarting-the-worker ,您可以重新启动发送HUP信号的工作人员
According to http://ask.github.com/celery/userguide/workers.html#restarting-the-worker you can restart a worker sending a HUP signal
ps auxww | grep celeryd | grep -v "grep" | awk '{print $2}' | xargs kill -HUP
这篇关于芹菜工作人员如何优雅地重启?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文