芹菜工作人员如何优雅地重启? [英] How do I restart celery workers gracefully?

查看:179
本文介绍了芹菜工作人员如何优雅地重启?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在发布新版本以更新工作人员的代码时,如何优雅地启动芹菜工作?

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆