Rabbit MQ python脚本。连接打开时插座关闭

2024-04-26 10:23:45 发布

您现在位置:Python中文网/ 问答频道 /正文

需要帮助!使用Rabbit MQ RPC运行python脚本时。我得到一个Socket 104Socket closed when connection was open错误。下面是python回溯和一些代码:

Traceback (most recent call last):
  File "./server.py", line 34, in <module>
    channel.start_consuming()
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 1681, in start_consuming
    self.connection.process_data_events(time_limit=None)
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 656, in process_data_events
    self._dispatch_channel_events()
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 469, in _dispatch_channel_events
    impl_channel._get_cookie()._dispatch_events()
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 1310, in _dispatch_events
    evt.body)
  File "./server.py", line 30, in on_request
    body=json.dumps(DEVICE_INFO))
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 1978, in basic_publish
    mandatory, immediate)
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 2065, in publish
    self._flush_output()
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 1174, in _flush_output
    *waiters)
  File "/usr/lib/python2.6/site-packages/pika/adapters/blocking_connection.py", line 395, in _flush_output
    raise exceptions.ConnectionClosed()
pika.exceptions.ConnectionClosed

Tags: inpylibpackagesusrlinechannelsite
1条回答
网友
1楼 · 发布于 2024-04-26 10:23:45

很抱歉,因为我的名声不好,无法发表评论。你能提供一些关于你如何打开连接的信息吗。真的开着吗?

这可能是因为失去了与rabbitmq服务器的连接,因为pika不处理断开连接,并且经常导致类似的stacktrace。

我也有类似的问题,在我的例子中,这是因为我的pika连接在一段时间后断开,我的同事可以通过添加mq:port_number的等待时间来处理这个问题。

我们使用的是docker容器,所以我们在调用.sh要等待mq:

filename.py wait-secs 30 port-wait mq:5672

我希望你能解决这个问题。

否则,最好在运行python脚本之前检查pika是否删除了连接,或者提供有关如何调用它的更多信息。

相关问题 更多 >