RabbitMQ保持关闭连接

时间:2014-04-04 13:39:21

标签: python multithreading rabbitmq amqp

我使用rabbitpy python库与RabbitMQ进行交互。我设计了一个具有发布者方法和消费者方法的通信类。这个沟通课程#39;实例在不同的线程中运行。

如果我开始频繁请求,RabbitMQ会关闭连接。这是错误日志:

=ERROR REPORT==== 4-Apr-2014::14:12:52 ===
AMQP connection <0.13197.22> (running), channel 1 - error:
{amqp_error,unexpected_frame,
            "expected content header for class 60, got non content header frame instead",
            'basic.publish'}

=INFO REPORT==== 4-Apr-2014::14:12:52 ===
closing AMQP connection <0.13197.22> (127.0.0.1:52234 -> 127.0.0.1:5672)

=INFO REPORT==== 4-Apr-2014::14:12:52 ===
accepting AMQP connection <0.13263.22> (127.0.0.1:52237 -> 127.0.0.1:5672)

rabbitpy是一个线程安全库(它是这样说的)。

为什么我遇到这样的问题?

1 个答案:

答案 0 :(得分:1)

看起来问题是多线程。可能是rabbitpy中的错误。 解决方案是

  • 避免在多个线程的连接中的同一频道上发布
  • 使用您自己的代码同步发布

查看this discussion