-1

使 Django 项目异步(实时)的更好技术(使用 Tornado 和 django ORM 或 Node.js ),

Node.js 真的很难编码。

我遵循了一个教程:在 Tornado Web 服务器中使用 Django。

[ http://lincolnloop.com/blog/2009/sep/15/using-django-inside-tornado-web-server/][1]

解决方案 :

我为 django 开发了一个名为django-realtime的包。这可能对面临我以前遇到过的相同问题的其他开发人员有所帮助

https://pypi.python.org/pypi/django-realtime/1.1

4

2 回答 2

3

Django IMO 不应该用作异步应用程序,它不是为此而设计的。如果您想要一个使用 Web 套接字之类的实时应用程序,您需要分离您的关注点。

我正在构建一个实时应用程序,使用 Django 作为 MVC 框架来服务站点和任何 RESTy API 调用,Gevent SocketIO 作为实时位的 Web 套接字服务器,Redis Pub/Sub(将为 ZeroMQ 切换)作为应用程序各个不同部分的消息传输,以与套接字服务器通信并发出事件。

看看https://github.com/abourget/gevent-socketio。它确实有一个 Django 集成组件,但 imo 它有点神奇,我会用它来构建一个单独的 Web 套接字服务器,让事情变得简单。

于 2013-05-09T09:27:55.527 回答
1

Django 和 Celery 合作得很好。你会在网上找到很多信息,但最好的地方是

但是使用 Celery 真的不是强制性的。由于 Django 可以操作任何 Python 模块(或附近),您可以简单地使用 RabbitMQ(作为代理)并使用amqphttps://pypi.python.org/pypi/amqp),它是amqplibhttps:// /pypi.python.org/pypi/amqplib )。

基本上,任何关于 Python + AMQP 的操作指南都应该适用于 Django。

于 2013-05-09T09:45:25.280 回答