Я работаю над веб-приложением, используя Django, как периодически запускать планировщик
По сути, я просто хочу просмотреть базу данных и сделать некоторые расчеты/обновления на автоматической регулярной основе, но я не могу найти никакой документации по этому поводу.
Как его установить или настроить?
Чтобы уточнить: я знаю, что могу настроить задание cron для этого, но мне любопытно, есть ли в Django какая-то функция, обеспечивающая эту функциональность. Я бы хотел, чтобы люди могли сами развернуть это приложение, не прибегая к большой настройке (желательно без).
Я рассматривал возможность запуска этих действий «задним числом», просто проверяя, должно ли задание запускаться с момента последней отправки запроса на сайт, но я надеюсь на что-то более чистое.
Я предлагаю использовать сельдерей docs.celeryproject.org/en/latest/django/…






сначала установите apscheduler:
pip install apscheduler
создайте файл schedule.py в каталоге вашего приложения.
затем добавьте этот код:
from datetime import datetime
from apscheduler.schedulers.background import BackgroundScheduler
from any_file import function #import the function that you want
def start():
scheduler = BackgroundScheduler()
scheduler.add_job(your_function, 'interval', minutes=5) #every five minute for example
scheduler.start()
добавьте это к apps.py:
from django.apps import AppConfig
class AppConfig(AppConfig):
name = 'app' #your app name
def ready(self):
from your_app import schedule
schedule.start()
затем обновите INSTALLED_APPS в settings.py.добавьте к нему это:
'yourApp.apps.AppConfig' #import class in apps.py
Вы пробовали Джанго-планировщик?