问题:如何使用celery随时开启任务,随时关闭正在运行的任务

python2.7版本

1、开启任务:

task_id = tasks.remote_maintenance_task.delay(task_type)
data["task_id"] = task_id.id

其中task_id就是这个任务的id

如果我们想要在它正在执行的时候,停止它的话,需要把task_id记录下来。

2、停止任务

id = task_id["task_id"]
state = AsyncResult(id=str(id), app=main.app).state  # 这个是查看当前celery该任务的状态
# 停止任务
celery_control = Control(main.app)
celery_control.revoke(str(id), terminate=True)

revoke是执行停止的命令

3、celery导包

from celery_remote import tasks
from celery.app.control import Control
from celery.result import AsyncResult

4、celery任务状态

问题:如何使用celery随时开启任务,随时关闭正在运行的任务_第1张图片

 

 

你可能感兴趣的:(python项目开发,Celery)