问题描述
我正在尝试从我的另一个服务向 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 (将#修改为@)