使用dj芹菜时,Revoke、Terminate和Kill之间有什么区别



我正在使用dj芹菜和django的管理站点。如果我想停止已经启动的dj芹菜任务,我会使用revoke、terminate还是kill?有什么区别?

您应该使用terminate来终止已启动的任务。

撤销:

>>> from celery.task.control import revoke
>>> revoke(task_id)

当工作者收到撤销请求时,它将跳过执行任务,但不会终止已经执行的任务。

终止:

>>> from celery.task.control import revoke
>>> revoke(task_id, terminate=True)

如果设置了terminate,则处理任务的worker子进程将被终止。发送的默认信号为TERM。终止任务也会撤销任务。

杀死:

这与上面两个不同。KILL用于杀死工人

ps auxww | grep 'celery worker' | awk '{print $2}' | xargs kill -9

相关内容

  • 没有找到相关文章

最新更新