Django与多线程有什么已知问题吗?
我需要开发一个可以和一个django应用同时运行的应用。这是我第一次开发一个多线程的应用,它要和django应用一起工作,所以有没有什么需要注意的地方或者常见的坑呢?
3 个回答
如果你想让你的django应用程序能够被外部软件使用,你需要为你的应用创建一个API。
你可以看看REST http://code.google.com/p/django-rest-interface/ 和 XMLRPC http://code.google.com/p/django-xmlrpc/。
外部应用的多线程特性对通过生产级别的网络服务器(比如Apache)提供服务的django来说并不是问题,因为django本身设计上就能同时处理很多请求。
希望这些信息对你有帮助。
一般来说,你的Django应用程序本身就是支持多线程的。这是大多数标准Django服务器的工作方式——它们可以同时处理多个来自WSGI线程的请求。
而且,你几乎总是会在Apache服务器下运行Django,而Apache也是支持多线程的。
如果你使用了mod_wsgi
,那么Django可能会作为Apache进程的一部分运行,也可能是一个单独的进程。
任何“并行运行”的东西(这意思是它们可以同时工作)将会在Apache之外,在Django之外,并且是在一个单独的进程中。
所以,关于多线程的考虑并不适用于你的Apache进程(包含Django)和其他进程之间。
你说的“与django应用并排”是什么意思?能不能多解释一下你想要实现什么?这样我才能更好地帮助你或回答你的问题。
对提问者第一次编辑的回答
哦,明白了。我遇到过一个正好符合你需求的应用,叫做feedjack,你可以在这里找到它:http://www.feedjack.org。我也尝试过做类似的事情。一般来说,我觉得在这种情况下你应该没问题(可以用Django的ORM来单独处理数据填充数据库)。至少,当我用他们的脚本和我自己的类似django应用一起使用时,没有遇到什么问题。