mod_python上的线程代码

时间:2008-12-12 22:21:54

标签: python django multithreading apache

我编写了一个Django应用程序,它利用Python线程创建一个Web蜘蛛,蜘蛛作为一系列线程来检查链接。

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

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

有没有人知道我在这里缺少什么?

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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

最有可能的是,您错过了新流程的创建。 Apache不会在单个进程中运行,而是偶尔为请求分叉新进程(取决于dozen or so configuration parameters)。如果在每个进程中运行django,它们将不共享内存,并且在一个工作程序中生成的结果将不会被其他任何进程看到。此外,Apache进程可能会终止(在空闲时或在一段时间后),丢弃内存中的结果。