如何使用Axios超时?

问题描述 投票:0回答:1

在我的nodejs服务器中,我正在向AWS(python flask Server)发送发布请求,AWS服务器将花费大约30分钟来处理数据(因为它运行了某些ML代码)并响应 这是执行超时的正确方法吗?因为它似乎不起作用。

const awsResponse = await axios.post(`${process.env.AWS_PUBLIC_IP}/aws`, data, { timeout: 1800000 } // 30 minutes );
(编辑)
我遇到的错误是..

Error: Request failed with status code 502 AWS Error Response: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>502 Proxy Error</title> </head><body> <h1>Proxy Error</h1> <p>The proxy server received an invalid response from an upstream server.<br /> The proxy server could not handle the request<p>Reason: <strong>Error reading from remote server</strong></p></p> </body></html>
    
node.js axios
1个回答
0
投票
问题可能不是Axios本身,而是使用服务器配置。将HTTP连接保持长时间开放通常不是一个好主意。这是我要做的:

    在请求成功或失败时使用Webhooks或其他机制来实现策略,以通知客户。 (请参阅
  • 我们可以可靠地保持HTTP/S连接很长时间?)。
  • 如果必须保持持久的HTTP连接,我将相应地配置服务器设置。 (请参阅
nginxkeepalive超时与elb idle超时vsproxy_read_timeout

)。 正如上面参考中指出的那样,如果服务器的超时配置短于客户端的超时设置,则客户端超时设置无关紧要。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.