Я создаю портал отчетности с использованием django. На этом портале мне нужно дать пользователям возможность планировать отчеты для регулярного запуска. Я изучал django-celery и понимаю, что вы можете использовать декоратор period_task для планирования повторяющейся задачи, но во всех примерах, которые я видел, информация о расписании cron жестко запрограммирована в декораторе.
@periodic_task(run_every=crontab(hours=7, minute=30, day_of_week="mon"))
Есть ли способ использования django-celery для динамического планирования повторяющейся задачи на основе ввода от пользователя?
Например, пользователь использует форму, чтобы выбрать отчет, который он хочет запустить, предоставить все параметры, необходимые для отчета, и расписание, когда он хочет, чтобы отчет был запущен. После того, как я обработал форму, есть ли метод или функция, которую я могу вызвать, чтобы добавить задачу run_report в расписание? Если да, есть ли способ получить все текущие расписания, хранящиеся в базе данных, чтобы их можно было отобразить?