首页 > 解决方案 > django-background-tasks 集成

问题描述

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

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

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

为了安排重复的 django-background-task 功能,我需要从 django 项目中的某个地方调用它一次。django 文件结构中的哪个位置最好做到这一点?

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

谢谢。

标签: djangoimportbackground-task

解决方案


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

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

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

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

塔。


推荐阅读