我正在Django项目中使用Celery进行定期任务。我非常难以理解Celery的工作原理,现在它开始显示出一些东西,但是我不知道如何阻止工人。
我首先运行此命令以启动Celery beat。
celery -A proj beat
然后运行此命令以启动工作程序
celery -A proj worker -B
无论我做什么,以前的工作人员仍在工作。即使我更新了代码并使用Ctrl+c
停止了工作程序,它们仍在运行。我该如何阻止所有这些人?
[2018-07-25 15:53:49,694: WARNING/ForkPoolWorker-2] Yo
[2018-07-25 15:53:50,224: WARNING/ForkPoolWorker-3] hello
[2018-07-25 15:53:52,694: WARNING/ForkPoolWorker-2] Yo
[2018-07-25 15:53:55,694: WARNING/ForkPoolWorker-3] Yo
[2018-07-25 15:53:58,694: WARNING/ForkPoolWorker-2] Yo
[2018-07-25 15:54:00,227: WARNING/ForkPoolWorker-3] world
[2018-07-25 15:54:00,229: WARNING/ForkPoolWorker-2] hello
答案 0 :(得分:1)
关闭应使用TERM信号完成。
方法1:
$ pkill -9 -f 'celery worker'
方法2:
$ ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9
正式文件:here