【问题标题】:Confused about making Django Asynchronous (RealTime) [closed]对使 Django 异步(实时)感到困惑 [关闭]
【发布时间】:2013-05-09 03:45:44
【问题描述】:

更好的技术使 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

【问题讨论】:

    标签: django node.js real-time tornado


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      基本上,您将找到的任何关于 Python + AMQP 的操作指南都适用于 Django。

      【讨论】:

      • 我已经发布了一些包来解决这个问题并主持了一个培训视频:请看vimeo.com/94808324
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      • 2015-02-14
      • 1970-01-01
      • 2016-09-04
      • 2012-05-03
      • 1970-01-01
      相关资源
      最近更新 更多