首页 > 解决方案 > Django后台线程

问题描述

我正在制作一个 Django 应用程序。它需要在服务器运行时进行后台工作(与外部 API 交互),所以在我看来,我需要启动一个独立于所有外部请求的单独线程。解决此问题的最佳方法是什么?

我的第一直觉是简单地import threading启动另一个线程,但是我将把代码放在 Django 应用程序的什么地方呢?这甚至是正确的方法吗?我是否需要制作与应用程序通信的外部服务脚本?

我的谷歌搜索只让我找到了 django-background-tasks 和 celery 之类的东西,尽管据我了解,这些解决方案仅适用于需要很长时间的视图中的任务,用于在任务实际完成之前返回网页。这些解决方案是否支持后台线程?我不是在寻找每 x 时间运行一个函数,我希望它从 Django 启动的那一刻起就永远运行。

我希望它最好在应用程序内部独立,因此没有外部服务脚本的解决方案将是理想的。我希望该应用程序可以通过 pip 安装。

标签: pythondjangopython-3.xpython-multithreading

解决方案


推荐阅读