Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django后台RabbitMQ连接_Python_Django_Rabbitmq_Amqp - Fatal编程技术网

Python Django后台RabbitMQ连接

Python Django后台RabbitMQ连接,python,django,rabbitmq,amqp,Python,Django,Rabbitmq,Amqp,好的,所以我有一个比较独特的问题,我正在处理。我正在用Django编写一个小型web应用程序,我希望它能够通过后端直接与RabbitMQ接口。也就是说,我有一个服务器任务,我正在为它开发一个web界面,我想通过消息队列直接与它的API交互。我正在努力研究如何生成到消息队列的长时间运行的连接。显而易见,为每一个新请求构造/断开到RMQ的TCP连接是非常昂贵的!那么,是否有可能创建一些长时间运行的流程,我可以使用这些流程与这个AMQPAPI进行交互 关于芹菜,请注意,因为我肯定会提到芹菜,我对芹菜的

好的,所以我有一个比较独特的问题,我正在处理。我正在用Django编写一个小型web应用程序,我希望它能够通过后端直接与RabbitMQ接口。也就是说,我有一个服务器任务,我正在为它开发一个web界面,我想通过消息队列直接与它的API交互。我正在努力研究如何生成到消息队列的长时间运行的连接。显而易见,为每一个新请求构造/断开到RMQ的TCP连接是非常昂贵的!那么,是否有可能创建一些长时间运行的流程,我可以使用这些流程与这个AMQPAPI进行交互


关于芹菜,请注意,因为我肯定会提到芹菜,我对芹菜的理解是,它非常适合将时间密集型任务分配给其他进程和/或节点,但不会公开到Django应用程序的长时间运行的AMQP连接。所以我认为这对这里没有帮助。尽管如此,除了教程和阅读部分文档之外,我还没有做更多的工作。

我已经成功完成了一项任务,使用芹菜和兔子MQ完成这项任务大约需要2天的时间。我不会怀疑这一点。芹菜是一项了不起的技术。在这种情况下它不工作的原因是我需要直接与消息队列本身接口。也就是说,我已经有了一个通过AMQP公开API的现有后端。芹菜确实与AMQP集成用于卸载任务,但它不允许我直接接触队列,因为它处理所有工作。我最终通过多重处理和皮卡周围的一些薄包装来解决这个问题。问题还不清楚。你面临的确切问题是什么?我的进程已经运行了好几天,直接与RabbitMQ交互,并且从未遇到任何长时间运行的连接问题。如果使用Kombu和连接池,则不需要为每个请求构造/断开TCP连接。顺便说一句,芹菜不会直接公开连接,但如果需要,可以从主芹菜实例访问它。我这样做是为了将统计数据和日志从工人发送到中央消费者。嗨,我和你面临着同样的问题。你是如何解决这个问题的?