在用户选择的时间运行Celery任务

时间:2016-10-11 18:25:16

标签: django celery

我有一个Django应用程序,每天一次,系统应该在特定时间发送电子邮件。目前,我正在使用Celery + Redis在当天的特定时间发送电子邮件。

我想让用户设置后台任务必须运行的时间以发送电子邮件。实现这一目标的最佳方法是什么?我无法找到用户设置此时间的任何示例。

或者,我将允许用户选择必须发送电子邮件的小时。 9:00,10:00等。然后我会将任务设置为每小时运行一次并检查是否有用户选择了那个小时。这似乎不是最干净的方法。还有其他建议吗?

我的应用程序在Heroku上运行,不确定这是否有所作为

1 个答案:

答案 0 :(得分:1)

您可以查看django-celery,它具有celerybeat的管理界面和计划程序,允许从数据库中选择任务并安排它们。

因此,您可以创建某种形式的用户界面并创建PeriodicTask实例。

相关问题