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

兔子MQ python脚本。连接打开时插座关闭,python,sockets,rabbitmq,pika,Python,Sockets,Rabbitmq,Pika,需要帮助!使用Rabbit MQ RPC运行python脚本时。我收到一个套接字104,套接字在连接打开时关闭错误。下面是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/block

需要帮助!使用Rabbit MQ RPC运行python脚本时。我收到一个
套接字104
套接字在连接打开时关闭
错误。下面是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
回溯(最近一次呼叫最后一次):
文件“/server.py”,第34行,在
channel.start_consuming()
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第1681行,在start_中
self.connection.process\u data\u事件(时间限制=无)
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第656行,进程中数据事件
自我发布频道事件()
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第469行,in_dispatch_channel_events
impl\u channel.\u get\u cookie()。\u dispatch\u events()
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第1310行,in_dispatch_events
evt(车身)
文件“/server.py”,第30行,根据请求
body=json.dumps(设备信息))
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第1978行,在basic_publish中
强制性,即时性)
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第2065行,在publish中
self._flush_output()
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第1174行,输入
*服务员)
文件“/usr/lib/python2.6/site packages/pika/adapters/blocking_connection.py”,第395行,输入
引发异常。ConnectionClosed()
pika.exceptions.ConnectionClosed

抱歉,由于声誉不佳,我无法发表评论。您能否提供更多关于如何打开连接的信息。它真的开着吗

这可能是因为与rabbitmq服务器的连接丢失,因为pika不处理断开连接,通常会导致类似的stacktrace

我也有类似的问题,在我的例子中,这是因为我的pika连接在一段时间后断开了,我的同事能够通过为
mq:port\u number
添加等待时间来解决这个问题

我们使用docker容器,因此在invoke.sh中添加了以下行以等待mq:

filename.py--等待秒30--端口等待mq:5672

我希望你这样做之后能够解决这个问题


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

抱歉,由于声誉不好,我无法发表评论。您能否提供更多关于如何打开连接的信息。它真的开着吗

这可能是因为与rabbitmq服务器的连接丢失,因为pika不处理断开连接,通常会导致类似的stacktrace

我也有类似的问题,在我的例子中,这是因为我的pika连接在一段时间后断开了,我的同事能够通过为
mq:port\u number
添加等待时间来解决这个问题

我们使用docker容器,因此在invoke.sh中添加了以下行以等待mq:

filename.py--等待秒30--端口等待mq:5672

我希望你这样做之后能够解决这个问题


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

你能帮我设置等待时间吗?我正在我的unix机器上运行我的脚本您使用了吗?如果是这样,它应该有无限超时,或者您可以显式声明一个超时?我不确定,但您可以先在端口上使用nmap检查它是否打开。如果它是开放的,那么问题将是另一回事。但是,如果在出现此错误时它已关闭,则可以检查如何保持rabbit mq服务器打开。您还可以使用netcat强制打开端口,然后等待rabbit mq接受请求。您还可以签出并增加握手超时环境变量。但如果你在帖子中加入更多细节会更好,因为这有助于其他人理解你的问题。你能帮我设置等待时间吗?我正在我的unix机器上运行我的脚本您使用了吗?如果是这样,它应该有无限超时,或者您可以显式声明一个超时?我不确定,但您可以先在端口上使用nmap检查它是否打开。如果它是开放的,那么问题将是另一回事。但是,如果在出现此错误时它已关闭,则可以检查如何保持rabbit mq服务器打开。您还可以使用netcat强制打开端口,然后等待rabbit mq接受请求。您还可以签出并增加握手超时环境变量。但如果你在帖子中加入更多细节会更好,因为这将有助于其他人理解你的问题。