执行 REST 请求时 ConnectionResetError(104, 'Connection reset by peer')

问题描述

我正在尝试从我的另一个服务向 REST API 发出两个请求,但我一直收到 ConnectionResetError(104,'Connection reset by peer') 错误。消息从队列中被消耗,并且正在进行调用。但是当所有功能完成时,我得到了错误

我一直在读到 bloquing I/O 会导致此错误,我认为 http 调用I/O 相关,但我不太确定。据我所知,这也可能是超时问题。但这是我第一次在 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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...