微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有一种方法可以停止Django背景任务中的重复任务

如何解决有没有一种方法可以停止Django背景任务中的重复任务

我已经成功地在Django背景任务中创建了一个重复任务,该任务可以从网页上的按钮开始。

我知道需要一种方法来通过另一个按钮再次停止此重复任务。

在阅读文档以及关于stackoverflow的内容时,我似乎看不到在后台任务中可以再次消除此任务的方法(对于我的停止按钮)。

什么是解决此问题的好方法

解决方法

在Reddit / djangolearning上获得一些帮助之后,我得出了以下解决方案:

数据库中有一个表(模型):background_tasks。该表包含任务队列。

我按如下所示导入了任务模型:

from background_task.models import Task

接下来我要做的是寻找要杀死的任务,然后杀死它:

def kill_background_task(appname,task_name):
    background_tasks =    Task.objects.filter(task_name='appname.background_tasks.task_name')
    for background_task in background_tasks:
        background_task.delete()

我选择了这种迭代循环,以确保某些任务是否以某种方式启动了两次甚至更多次,它们都将被删除。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。