2008-12-12 44 views
1

我写了一个Django应用程序,它利用Python线程来创建一个web蜘蛛,蜘蛛作为一系列线程来检查链接。mod_python上的螺纹代码

当我使用django测试服务器(内置)运行此应用程序时,应用程序运行正常,线程似乎开始并按时停止。

但是,在Apache上运行应用程序似乎线程没有开始运行(大约80秒后应该有排队的数据库更新,这些更改不会发生)。

有没有人有一个想法,我在这里失踪?

- 编辑:我的问题是,Apache如何处理线程应用程序,即是否有限制可以从单个应用程序运行多少个线程?

任何帮助,将不胜感激!

+0

Django如何连接到Apache? mod_python的? mod_wsgi的?的mod_fastcgi? – 2008-12-12 22:25:11

回答

3

很可能,您错过了新流程的创建。 Apache不会在单个进程中运行,但是不时会为请求分配新进程(具体取决于dozen or so configuration parameters)。如果你在每个进程中运行django,他们将不共享内存,并且一个工作者产生的结果对其他任何人都是不可见的。另外,Apache进程可能会终止(空闲时或某段时间后),从而丢弃内存中的结果。