我已经根据文档在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
之后也需要手动调用该方法吗?谢谢。
答案 0 :(得分:1)
然后,您需要运行daily job来硬删除超过14天之前删除的任务。您可以通过以下三种方法进行选择:
编写自己的django command并将其手动添加到crontab on the server。