启动django服务器时,我需要一个运行的线程,基本上该线程只是定期处理数据库中的某些项目。
在哪里启动此线程的最佳位置。
答案 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.