【问题标题】:Is it possible to process a task at django-background-tasks without entering the command 'python manage.py process_tasks'?是否可以在不输入命令'python manage.py process_tasks'的情况下在 django-background-tasks 处理任务?
【发布时间】:2020-04-19 11:27:06
【问题描述】:

是否可以在没有“命令 python manage.py process_tasks”的情况下在 django-background-tasks 处理任务?我的任务需要在应用程序启动时启动,但我不想输入命令来执行它。提前致谢。

【问题讨论】:

    标签: python django


    【解决方案1】:

    是的,从 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'

    【讨论】:

      猜你喜欢
      • 2022-08-10
      • 2021-03-23
      • 2019-06-03
      • 1970-01-01
      • 1970-01-01
      • 2019-07-07
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多