0
因此,我有一個發佈商正在使用計劃 python包來讀取文件中的數據和每隔5-10分鐘並將每行發佈到隊列中。 在我一直在使用一些消費者喜歡的另一面:RabbitMQ - 套接字關閉異常 - Windows Server 2012
self.connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
self.channel = self.connection.channel()
while True:
method, properties, body = self.channel.basic_get(queue=conf.UNIVERSAL_MESSAGE_QUEUE, no_ack=False)
if body is not None:
self.assign_task(body=body)
self.channel.basic_ack(delivery_tag=method.delivery_tag)
else:
self.logger.info('channel empty')
self.move_to_done()
time.sleep(5)
分配任務功能看起來像:
def assign_task(body=body):
<do something with the message body>
出於某種原因,一段時間後,它會引發以下錯誤:
2017-08-03 15:27:43,756: ERROR: base_connection.py: _handle_error: 335: Socket Error: 10054
2017-08-03 15:27:43,756: WARNING: base_connection.py: _check_state_on_disconnect: 180: Socket closed when connection was open
2017-08-03 15:27:43,756: WARNING: connection.py: _on_disconnect: 1360: Disconnected from RabbitMQ at localhost:5672 (0): Not specified
實質上,發佈者和使用者都是2個不同的Python程序,計劃在Windows Server 2012的單臺計算機上運行。社區可以幫助瞭解wha這裏可能會出錯。
相同的代碼運行的精絕本地我的Windows機器
繼從我的日誌文件的輸出。
=ERROR REPORT==== 3-Aug-2017::15:06:48 === closing AMQP connection <0.617.0> ([::1]:53485 -> [::1]:5672): missed heartbeats from client, timeout: 60s