django和多线程有任何已知问题吗?

时间:2009-10-27 10:08:40

标签: python django multithreading

我需要开发一个与django-app并行运行的应用程序。 这将是我第一次开发一个在django-app旁边运行的多线程应用程序,那么我应该注意哪些“陷阱”和“陷阱”?

3 个答案:

答案 0 :(得分:2)

通常,您的Django应用程序已经是多线程的。这是大多数标准Django服务器运行的方式 - 它们可以容忍多个WSGI线程向它们发送请求。

此外,你几乎总是让Django在Apache下运行,它也是多线程的。

如果您使用mod_wsgi,那么Django可能是Apache流程的一部分或单独的流程。

任何“并排”运行的东西(无论这意味着什么)都将在Apache之外,在Django之外,并且在一个单独的过程中。

因此,任何多线程注意事项都不适用于您的Apache进程(包含Django)和您的其他进程。

答案 1 :(得分:0)

你是什么意思与django-app并排?能否请您详细说明您打算实现的目标?然后帮助/回答应该更容易。


回答OP的第一次编辑


阿。好。我遇到过这样一个应用程序,它完全符合您的要求。它被称为feedjack,你可以找到它http://www.feedjack.org。我试过做类似的事情。一般来说,我认为你会遇到这样的情况(使用Django的ORM用数据填充数据库的单独进程)。至少,当我使用他们的脚本和我的类似django应用程序时,我没有遇到过这样的问题。

答案 2 :(得分:0)

如果您想将django-app暴露给某些外部软件,则需要为您的应用程序创建一个API。

您应该查看REST http://code.google.com/p/django-rest-interface/和XMLRPC http://code.google.com/p/django-xmlrpc/

外部应用程序的多线程特性对于生产网络服务器(例如Apache)提供的django来说不是问题,因为通过设计,django能够以并行方式提供许多请求

我希望它有所帮助