node.js - OKD 请求 ETIMEDOUT - nodejs @ Production
问题描述
我被困在过去几天。我已经用谷歌搜索了,但没有任何东西可以帮我获取结果。以下代码适用于我的本地 m/c,所有结果均在 4 毫秒内获取。但是在生产级别,以下代码会引发网关超时错误。该应用程序部署到 OKD(节点模块-okd-api)集群上,我的应用程序是它的 pod 之一。
在这里,我正在获取所有的 pod
let fetchListarr=[];
aws_app.get('/List', (req,res) =>
{
try
{
Promise.all(promisesArray).then(values => {
// do stuff with values here
res.send(values)
})
.catch((err)=>{console.log(err)});
}
catch (e){console.log( e);}
});
var WMArr=[];
var prom1 = new Promise(function(resolve, reject) {
let config = {
cluster:'my/url/to/openshift',
user: 'user',
password: 'password',
strictSSL: false
};
login(config)
.then(okd=>{
okd.namespace('namespace').pod.watch_all(pods=>{
pods.map((v)=> {
if(!WMArr.includes(v.object.metadata.labels.app))
{ let obj = {
TargetServiceName: v.object.metadata.labels.app,
Instance:
WMArr.lastIndexOf(v.object.metadata.labels.app) ===
WMArr.indexOf(v.object.metadata.labels.app)
? 1
: WMArr.lastIndexOf(v.object.metadata.labels.app) + 1,
Status: v.object.status.phase
};
fetchListarr.push(obj);
}
WMArr.push(v.object.metadata.labels.app);
});
})
setTimeout(function() {
resolve( fetchListarr);
}, 5000);
})
.catch(err=>{console.log(err)})
});
var promisesArray= [prom1];
增加超时是不行的。
任何人都可以让我知道代码的问题吗?
或者我需要在哪里配置超时设置(我是使用 OKD(openshift)部署应用程序的新手)
解决方案
推荐阅读
- php - PHP var_dump 计算过多的字符
- javascript - Knex.js:加入 'select' 和 'where' 子句
- javascript - 子组件中按钮的父状态始终为空
- javascript - cypress,存根窗口函数并获取调用参数或返回值
- c - fopen 给我一个分段错误
- c# - 如何正确监听传入的 TCP 消息并解析它们?
- google-apps-script - 如何创建修改 Google 表格中特定单元格的 URL?
- bash - Bash:[[ -v xxx ]] 在登录 shell 中测试失败
- r - 替换R中列表列表中的值
- python - 在容器化网站中临时存储图像数据的最佳方式是什么?