取消正在执行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任务
    •  

原文地址:https://www.cnblogs.com/W-Y-C/p/13854694.html