我正在使用 django 构建一个报告门户。在这个门户中,我需要让用户能够安排报告在重复发生的基础上运行。我一直在研究 django-celery 并了解您可以使用periodic_task 装饰器来安排重复发生的任务,但在所有示例中,我看到 cron 调度信息被硬编码到装饰器中。
@periodic_task(run_every=crontab(hours=7, minute=30, day_of_week="mon"))
有没有办法使用 django-celery 根据用户的输入动态安排重复发生的任务?
例如,用户使用表单来选择他们想要运行的报告,提供报告所需的所有参数以及他们想要运行报告的时间表。处理完表单后,是否有可以调用的方法或函数将 run_report 任务添加到计划中?如果是这样,有没有办法检索存储在数据库中的所有当前时间表以便显示它们?