gpt4 book ai didi

javascript - 在启动之前请求用户应用程序时出错

转载 作者:IT老高 更新时间:2023-10-28 23:17:35 24 4
gpt4 key购买 nike

我使用 node-http 代理模块来运行具有按预期工作的反向代理的应用程序,在某些情况下,用户希望立即运行应用程序,其状态为 progress(应用程序尚未启动),应用程序启动并运行可能需要大约 3-15 秒;在这种情况下,用户将从代理收到错误。

proxy.web(req, res, {
target: 'http://' + hostname + ':' + Port
console.log("App------------->Proxy App" );
});

proxy.on('proxyReq', function(proxyReq, req, res, options) {
console.log("App------------->Proxy Request" );
});

proxy.on('error', function (err, req, res) {
console.log("App------------->Proxy Error" );
res.end('Something went wrong');
});

// Listen for the `proxyRes` event on `proxy`.
proxy.on('proxyRes', function (proxyRes, req, res) {
console.log("App------------->Proxy Response" )
var respState = res.statusCode
});

如果出现错误,日志中的堆栈就像

  1. Proxy app
  2. Proxy Request
  3. Proxy Error

在这种情况下,用户将在浏览器中运行应用程序 url,首先会收到错误消息,几秒钟后,当他刷新浏览器时,应用程序将运行正常。有什么建议可以解决这个问题吗?

我考虑过构建一些 API 来检查 proxyRes 状态(比如每 1 秒调用一次,看看响应是否为 200 并且在“检查超时”之前不发送错误,如果10 秒后没有响应可能会发送错误,但不知道该怎么做,以及它是否是好的方法......任何想法?或者也许通过 webSoket 但不知道如何做到这一点......

这是我正在使用的开源 https://github.com/nodejitsu/node-http-proxy

最佳答案

尝试在选项中设置 proxyTimeout。此标志未记录在案,但在代码中使用:

https://github.com/nodejitsu/node-http-proxy/blob/master/lib/http-proxy/passes/web-incoming.js#L119

var proxy = httpProxy.createProxyServer({proxyTimeout:3000}) // timeout 3 seconds

关于javascript - 在启动之前请求用户应用程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34789050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com