如何使用django-background-tasks启动后台定期任务

时间:2019-09-07 19:49:39

标签: python django

我想为我的SQLite文件中的检查值创建定期任务。我试图用django-background-tasks创建重复任务,但是不起作用。当我在cmd中使用python manage.py process_tasks时,它可以正常工作。如何通过启动django而不使用此命令来启动此任务?

我在Windows 10上开发自己的Web应用。

urls.py

from django.contrib import admin
from django.urls import path, include
from client import tasks as task

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('client.urls')),
    path('account/', include('account.urls')),
]

task.check_groups(repeat=10, repeat_until=None)

tasks.py

from background_task import background
from django.utils import timezone
from client.models import StudyGroup, Account

@background()
def check_groups():
    check_active_groups()
    check_inactive_groups()

1 个答案:

答案 0 :(得分:1)

从文档中

  

设置cron任务(或长时间运行的进程)以执行任务

您必须设置cron或其他定期运行程序才能调用该命令,因为Django本身将无法执行此操作。