Django服务器启动时我应该在哪里启动新线程

时间:2018-12-20 05:24:32

标签: python django

启动django服务器时,我需要一个运行的线程,基本上该线程只是定期处理数据库中的某些项目。

在哪里启动此线程的最佳位置。

2 个答案:

答案 0 :(得分:2)

我认为这通常是个坏主意。您不应在前端进程中运行这种定期线程。

我将创建一个管理命令来进行处理。然后,我将设置一个cron作业(或主机提供的任何其他机制),以调用管理命令。这样,您就可以将工作划分到逻辑位置,并且还可以更轻松地测试处理。

答案 1 :(得分:1)

您要在顶级urls.py中执行代码。该模块将在服务器启动时导入并执行一次。

在您的urls.py

from django.confs.urls.defaults import *
from my_app import one_time_startup

urlpatterns = ...

one_time_startup() # This is your function that you want to execute.