django-background-tasks 集成

问题描述

我有一个简单的 django 应用程序,它提供了一个登录页面一个经过身份验证的仪表板。我创建了一个数据模型,仪表板视图显示了从 django 数据库获取的数据。

我创建了一个类来处理这个模型中的数据。该类不直接参与应用程序视图,它只修改数据库内容。 django-background-tasks 注册的重复函数用于调用各种类函数来处理数据库数据。

目前我在 django 应用程序的单个文件中定义了类和 django-background-task 函数。我也在这文件中实例化了这个类。

为了安排重复的 django-background-task 函数,我需要从 django 项目中的某个地方调用它一次。最好在 django 文件结构中的哪个位置执行此操作?

在 apps.py 中?数据库现在准备好了吗?

谢谢。

解决方法

我在以下帖子中找到了对这个问题的建议答案:

https://medium.com/@robinttt333/running-background-tasks-in-django-f4c1d3f6f06e

作者建议将要重复调用的函数放在名为 tasks.py 的文件中 - 我在包的自述文档中遗漏了这一点。另外作者建议在urls.py中添加触发重复任务初始调度的调用。

我尝试了这个解决方案并且效果很好,尽管使用 urls.py 似乎不是最直观或合乎逻辑的位置。如果有人有任何其他建议,我很乐意听取他们的意见。

塔。