Javascript Seneca web超时配置

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

首先,我想说的是,我在senecajs是新手

我正在测试这个配置

我已经配置了在端口9007上运行的Senecjs microservice,该端口正在正确运行和处理请求。当我直接请求此服务时,我会在cca 10秒后收到响应(这是对oracle db数据的请求)

但当我通过Hapi+Seneca网站请求相同的数据时,我收到以下错误:“状态码”:504,“错误”:“网关超时”

在microservice返回数据前几秒钟

这是我的配置:

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);
    });
  });