2013-03-10 85 views
0

我想在Django服务器启动后执行一些python代码。此代码具有无限循环,并将在后台运行直到服务器关闭。它访问数据库和各种互联网服务。同时,用户应该能够使用前端网页并访问数据库。如何在服务器启动后执行后台线程?

+1

@琥珀芹菜是一个复杂的异步队列管理系统。我所需要的只是在启动时启动一个后台线程 – siamii 2013-03-10 22:06:15

+0

芹菜不是在该问题上列出的唯一答案。 – Amber 2013-03-10 22:14:48

+0

您需要启动一个线程或一个子进程。有很多选项可以做到这一点,在这里有很多问题提出这个问题,并提供答案。 – 2013-03-10 22:17:49

回答

0

如果您需要开始在启动一个子进程,有几位清理:

  1. 通过“启动”,你当一个人的Django线程开始的意思。
  2. 如果你在一个多线程代理设置下得到了Django,并且你想要有一个子进程,无论你的盒子上有多少个Django 线程正在运行,你需要以某种方式 要么检查你的子进程是否已经启动,要么 将你的'子进程'变成它的 自己的完整形成的进程/服务,并使用某种类型的守护进程管理器来启动Django和 你的子进程。

也就是说,最容易修补的地方可能是settings.py。当Django线程启动时,此文件/模块将被导入一次。

如果您使用的是WSGI代理设置,那么您也可以在wsgi.py之内执行此操作。

对于'如何开始线程'的回答,please see this one

相关问题