Я создаю портал для отчетности, используя django. На этом портале мне нужно дать пользователям возможность планировать отчеты для запуска на повторной основе. Я изучаю django-сельдерей и понимаю, что вы можете использовать декоратор period_task, чтобы запланировать повторную задачу, но во всех примерах, которые я видел, информация о расписании cron жестко закодирована в декораторе.Расписание задач с использованием django-сельдерея на основе ввода пользователем
@periodic_task(run_every=crontab(hours=7, minute=30, day_of_week="mon"))
Есть ли способ, с помощью Джанго-сельдерей, чтобы запланировать задачу динамически повторяющуюся на основе входных данных от пользователя?
Например, пользователь использует форму для выбора отчета, который они хотят запустить, предоставить все параметры, необходимые для отчета и расписания, когда они хотят, чтобы отчет выполнялся. Как только я обработал форму, есть метод или функция, которую я могу вызвать, чтобы добавить задачу run_report к расписанию? Если есть способ получить все текущие расписания, хранящиеся в базе данных, чтобы они могли отображаться?
В качестве альтернативы вы можете запланировать одну задачу, которая, в свою очередь, планирует следующий, и так далее ... – DanJ
Что делать, если внутренняя функция создана и применяется декоратором '@ period_task' с динамически созданным объектом' crontab'? У меня такая же проблема, может быть, это поможет? –
У меня такая же проблема. Любая информация о том, как вы ее решили? – Jannis