Django后台任务自动发现不起作用

时间:2018-11-04 11:45:45

标签: python django background-process

我已经根据文档在Django应用中配置了后台任务。我的应用程序的结构如下:

todo_app
    |
    task
    |   |
    |   models, tests, urls, admin, apps
    |
    |
    frontend
    |       |
    |       tasks.py
    |       |
    |       models, tests, urls, admin, apps
    |
    manage.py
    |
    |todo_app
            |
            settings, urls, wsgi etc

settings.py:

INSTALLED_APPS = [
  ...
'background_task',
  ...
]
BACKGROUND_TASK_RUN_ASYNC = True

tasks.py:

from background_task import background

@background(schedule=1)
def task_runner(repeat=3):
    print("hello world")
在某些视图下调用方法时,

python manage.py process_tasks将运行任务。问题是,如果在视图下调用它,它将被调用太多次,并且重复将不必要地过载。

在自动发现下我犯了什么错误?即使在运行python manage.py process_tasks之后也需要手动调用该方法吗?谢谢。

1 个答案:

答案 0 :(得分:1)

然后,您需要运行daily job来硬删除超过14天之前删除的任务。您可以通过以下三种方法进行选择: