问题:如何使用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任务状态

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值