Javascript Seneca web超时配置
首先,我想说的是,我在senecajs是新手 我正在测试这个配置 我已经配置了在端口9007上运行的Senecjs microservice,该端口正在正确运行和处理请求。当我直接请求此服务时,我会在cca 10秒后收到响应(这是对oracle db数据的请求) 但当我通过Hapi+Seneca网站请求相同的数据时,我收到以下错误:“状态码”:504,“错误”:“网关超时” 在microservice返回数据前几秒钟 这是我的配置:Javascript Seneca web超时配置,javascript,hapijs,seneca,Javascript,Hapijs,Seneca,首先,我想说的是,我在senecajs是新手 我正在测试这个配置 我已经配置了在端口9007上运行的Senecjs microservice,该端口正在正确运行和处理请求。当我直接请求此服务时,我会在cca 10秒后收到响应(这是对oracle db数据的请求) 但当我通过Hapi+Seneca网站请求相同的数据时,我收到以下错误:“状态码”:504,“错误”:“网关超时” 在microservice返回数据前几秒钟 这是我的配置: const Hapi = require('hapi'); c
const Hapi = require('hapi');
const Seneca = require('seneca');
const SenecaWeb = require('seneca-web');
const config = {
adapter: require('seneca-web-adapter-hapi'),
context: (() => {
const server = new Hapi.Server();
server.connection({
port: 3001,
routes: {
cors: true,
payload:{timeout:60000},
timeout:{server: 60000, socket:90000}
}
});
server.route({
path: '/routes',
method: 'get',
handler: (request, reply) => {
const routes = server.table()[0].table.map(route => {
return {
path: route.path,
method: route.method.toUpperCase(),
description: route.settings.description,
tags: route.settings.tags,
vhost: route.settings.vhost,
cors: route.settings.cors,
jsonp: route.settings.jsonp,
server: server.info
}
})
reply(routes)
}
});
return server;
})()
};
const seneca = Seneca({timeout: 99999})
.use(SenecaWeb, config)
.use(require('./hapi_api.js'))
.client({ port:9007, pin:'mc:bankgtw' })
.ready(() => {
const server = seneca.export('web/context')();
server.start(() => {
server.log('server started on: ' + server.info.uri);
});
});
我做错了什么,或者是什么超时导致了这种情况?我也有同样的问题,已经解决了,但它的实践非常糟糕。 转到seneca transport文件夹中的“transport.js”。 您将看到“超时:5555” 去吧,把它换成你需要的任何东西 我不确定这为什么不能获得用户默认值。
据我所知,这是指客户端超时。确保您仍然使用服务器超时。可能在某个地方没有调用回调。
const Hapi = require('hapi');
const Seneca = require('seneca');
const SenecaWeb = require('seneca-web');
const config = {
adapter: require('seneca-web-adapter-hapi'),
context: (() => {
const server = new Hapi.Server();
server.connection({
port: 3001,
routes: {
cors: true,
payload:{timeout:60000},
timeout:{server: 60000, socket:90000}
}
});
server.route({
path: '/routes',
method: 'get',
handler: (request, reply) => {
const routes = server.table()[0].table.map(route => {
return {
path: route.path,
method: route.method.toUpperCase(),
description: route.settings.description,
tags: route.settings.tags,
vhost: route.settings.vhost,
cors: route.settings.cors,
jsonp: route.settings.jsonp,
server: server.info
}
})
reply(routes)
}
});
return server;
})()
};
const seneca = Seneca({timeout: 99999})
.use(SenecaWeb, config)
.use(require('./hapi_api.js'))
.client({ port:9007, pin:'mc:bankgtw' })
.ready(() => {
const server = seneca.export('web/context')();
server.start(() => {
server.log('server started on: ' + server.info.uri);
});
});