【问题标题】:How to perform periodic tasks within Django? [duplicate]如何在 Django 中执行周期性任务? [复制]
【发布时间】:2021-10-15 04:46:09
【问题描述】:

我在 Django 平台上有一个网络应用程序。

我在views.py中有一个方法:

def task():
    print("my task")

我怎样才能每天运行一次?

我需要一个非常简单的解决方案,它应该独立于其他任务(并行)。

【问题讨论】:

  • 这个函数是在urls.py中注册为视图还是只是一个普通的python函数?如果是后者,那么它应该在不同的文件中。
  • 尝试使用django-celery-beat link
  • 未在网址中注册

标签: python django


【解决方案1】:

有几个库可以帮助促进定期任务。我用过的两个是celerydjango-q

Celery 是一个通用的 python 任务管理器。将它与 django 一起使用需要额外的库来将它们组合在一起。其中 django-q 专门用于 django 项目。

附带说明,如果task() 函数不是实际视图,则它属于views.py 以外的单独文件。

【讨论】:

  • 还有更简单的解决方案吗?芹菜对于一项简单的任务来说太复杂了
  • django-q。它没有变得更简单
  • @NasimiEldarov 根据我的经验,Django-Q 没有 celery 复杂,但我发现它的文档不够健壮,尤其是在介绍/概述方面。顺便说一句,任务的复杂性完全独立于调度它运行的复杂性。
猜你喜欢
  • 1970-01-01
  • 2013-12-05
  • 2017-09-25
  • 2020-09-27
  • 2013-06-08
  • 2012-08-02
  • 2015-10-28
  • 2018-11-28
  • 1970-01-01
相关资源
最近更新 更多