取消正在执行celery

  1. 获取执行任务的id,

    • 开启任务时,将任务赋值给一个变量,通过变量.id即可获取任务的id

    • result = celery任务函数.delay(参数)

  2. 将id存储下来

    • 使用redis缓存或者django自带的缓存

  3. 在需要进行中止操作时,通过id取消任务

    • from celery.app.control import Control
      celery_control = Control(celery.app)  
      celery_control.revoke(str(id), terminate=True)# 关闭celery任务
    •  

posted @ 2020-10-21 21:00  恰蜜小嘴  阅读(649)  评论(1编辑  收藏  举报