使Django项目成为异步(RealTime)的更好技术(使用带有django ORM或Node.js的Tornado),
Node.js非常难以编码。
我遵循了一个教程:在Tornado Web Server中使用Django。
[http://lincolnloop.com/blog/2009/sep/15/using-django-inside-tornado-web-server/][1]
解决方案:
我为django开发了一个名为 django-realtime 的软件包。对于我面临同样问题的其他开发者来说,这可能会有所帮助
答案 0 :(得分:3)
Django IMO不应该用作异步应用程序,它不是为此而设计的。如果您想要使用Web套接字之类的实时应用程序,则需要将您的问题分开。
我正在构建一个实时应用程序,使用Django作为服务站点和任何RESTy API调用的MVC框架,Gevent SocketIO作为实时位的Web套接字服务器和Redis Pub / Sub(将切换为ZeroMQ) )作为应用程序的各个不同部分的消息传输,以与套接字服务器通信并发出事件。
看看https://github.com/abourget/gevent-socketio。它确实有一个Django集成组件但是它有点神奇,我会用它来构建一个单独的Web套接字服务器,让事情变得简单。
答案 1 :(得分:1)
Django和芹菜很好地合作。 你会在网上找到很多信息,但最好看的地方是
但是使用Celery并不是强制性的。由于Django可以操作任何Python模块(或附近),您可以简单地使用RabbitMQ(作为代理)并使用amqp
(https://pypi.python.org/pypi/amqp),它是amqplib
的分支({ {3}})。
基本上,你会发现有关Python + AMQP的任何操作都适用于Django。