通过视图函数设置的定期任务计划(Django app)

时间:2017-02-11 14:57:57

标签: django django-celery celerybeat

我为我的Django应用安排重复任务,将其包含在CELERYBEAT_SCHEDULE的{​​{1}}词典中。例如:

settings.py

这些任务定期运行(适用于应用程序的生命周期)。

我想知道我的应用的常规用户是否有办法启动定期任务?即有没有办法从CELERYBEAT_SCHEDULE = { 'tasks.rank_photos': { 'task': 'tasks.rank_photos', 'schedule': timedelta(seconds=5*60), }, 'tasks.trim_whose_online': { 'task': 'tasks.trim_whose_online', 'schedule': timedelta(seconds=10*60), }, } 控制这种调度?如果没有,为什么不呢?如果是的话,一个说明性的例子会很棒。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用hFlush。它定义了几个模型(例如iostream),它允许您通过简单地使用这些模型来创建或编辑周期性任务来在视图中安排任务。它在django-celery-beat package中提到。

  

还有django-celery-beat扩展,它将计划存储在Django数据库中,并提供了一个方便的管理界面来管理运行时的周期性任务。