Ошибка ConnectionResetError(104, «Сброс соединения одноранговым узлом») при выполнении запроса REST

#python #rest #python-requests #rabbitmq #pika

Вопрос:

Я пытаюсь сделать два запроса на API-интерфейсы REST от другой моей службы, но я продолжаю получать ConnectionResetError(104, 'Connection reset by peer') сообщение об ошибке. Сообщение извлекается из очереди, и вызовы выполняются. Но когда все функции заканчиваются, я получаю ошибку.

Я читал, что блокирование ввода-вывода вызывает эту ошибку, и я думаю, что http-вызовы связаны с вводом-выводом, но я не совсем уверен. Это также может быть проблемой тайм-аута для того, что я знаю. Но я впервые внедряю систему очередей в python, и я совсем не уверен. Оба вызова api выполняются довольно долго. Около 15 минут.

         print(' [*] Connecting to server ...')
        credentials = pika.PlainCredentials('root', 'root')
        connection = pika.BlockingConnection(
            pika.ConnectionParameters('rabbitmq',5672,'/',credentials)
        )
    
        def callback(ch, method, properties, body):
            data = json.loads(body)
            analisis_id = data['analisis_id']
            # SCRIPT
            dict_toplevel = toplevel_script(data) # API CALLs
            ch.basic_ack(delivery_tag = method.delivery_tag)
        channel = connection.channel()
        channel.queue_declare(queue='eureka', durable=True)
        channel.basic_consume(queue='eureka',
                            on_message_callback=callback)
    
    
        thread = Thread(target = channel.start_consuming)
        thread.start()
 

Редактировать:
Посмотри в журналах, я нашел это:

 missed heartbeats from client, timeout: 60s