我正在使用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