【发布时间】:2020-04-19 11:27:06
【问题描述】:
是否可以在没有“命令 python manage.py process_tasks”的情况下在 django-background-tasks 处理任务?我的任务需要在应用程序启动时启动,但我不想输入命令来执行它。提前致谢。
【问题讨论】:
是否可以在没有“命令 python manage.py process_tasks”的情况下在 django-background-tasks 处理任务?我的任务需要在应用程序启动时启动,但我不想输入命令来执行它。提前致谢。
【问题讨论】:
是的,从 Django 1.7 版开始,您可以将ready 函数添加到您的应用程序中,该函数只会在启动时执行一次。
假设你有一个名为StackApp的应用程序
from django.apps import AppConfig
class StackAppConfig(AppConfig):
name = 'stackapp'
verbose_name = "StackApp"
def ready(self):
process_tasks.delay()
在您的文件app/__init__.py 中,您必须包含:
default_app_config = 'stackapp.apps.StackAppConfig'
【讨论】: