Я настроил фоновые задачи в приложении 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
? Спасибо.