Я только что реализовал нечто подобное, и мне пришлось бы согласиться с комментариями, сказав, что это относительно сложный процесс. Тем не менее, это вполне выполнимо, и есть масса информации о деталях. Я дам вам обзор того, что я сделал.
Моя цель состояла в том, чтобы автоматически запускать функцию в моем приложении Django каждый рабочий день в 16:00.
Быстрый поиск покажет Вы хотите настроить периодическое расписание c. Для этого мне понадобилось:
- Celery - популярная система очередей / планирования задач с Django совместимостью
- Redis - брокер Я решил использовать
- Django Удар сельдерея - Удар сельдерея - это периодическая задача c для планирования задач Celery - этот пакет Django добавляет интеграцию базы данных, чтобы вы могли контролировать расписание ваших событий из админ-панели
Настройка с использованием этих 3 элементов обеспечит все необходимое для настройки того, что вы ищете. С точки зрения реализации, я мог бы попытаться напечатать все это здесь, но я чувствую, что просто скопирую руководства, которым я следовал. Я нашел этот особенно полезным, но я предполагаю, что вы не используете Docker (хотя я рекомендую вам это сделать!). В любом случае, между этим и официальным руководством Celery Getting Started и Django Celery Beat guide , у вас будет все необходимое.