Django和Twisted之间的消息通信

时间:2015-03-05 05:08:00

标签: python django rabbitmq celery twisted

我已经创建了远程对象监控应用程序。

应用程序说明:与远程控制器进行Twisted通信,然后通过" adbapi"将测量数据保存到数据库。 Django用作Web界面。

问题:Django使用模型进行数据库访问。 Twisted使用原始SQL查询,在保存操作之前生成警报等。我想将所有逻辑从Twisted转移到Django。所以Twisted将是远程控制器和Django之间的层。 Django将使用模型并保存测量数据,执行各种操作等。

问题:在Twisted和Django之间组织沟通的最佳方式?它们之间的双向通信总线。目前我有3个选项:

  1. 通过来自twisted.web.client的getPage执行http POST请求,另一方面通过Django处理它。
  2. 使用RabbitMQ和pika模块作为Twisted侧的传输。在另一边使用Django-standalone app作为守护进程。
  3. 我认为应该有比我的提议更好的解决方案。

    P.S。:base structure

1 个答案:

答案 0 :(得分:0)

回答我自己的问题:目前我已将RabbitMQ用作传输。在扭曲方面通过此adapter使用 pika模块。在 django 方面,我创建了一个django独立脚本作为守护进程。守护进程通过pika模块无休止地等待来自RabbitMQ的新消息。

如果有更好的解决方案,请告诉我。