2017-02-15 11 views
0

まず、私はセネカイでは新しいと言いたいと思います。セネカウェブのタイムアウト設定

この設定をテストしています。

私は、実行しているリクエストとリクエストを正しく処理しているポート9007で動作するSenecjsマイクロサービスを設定しました。このサービスを直接リクエストすると、cca 10以降の応答が返されます(これはoracle dbデータの要求です)。 、 "エラー" 504: "ゲートウェイタイムアウト"

["client","invalid_origin",{"port":9007,"pin":"mc:bankgtw","pg":"mc:bankgtw","type":"web","id":"pg:mc:bankgtw,pin:mc:bankgtw,port:9007","role":"transport","hook":"client","plugin$":{"name":"client$"},"fatal$":true,"meta$":{"mi":"wbn8u45tb7uh","tx":"o3f8eyia3f4n","id":"wbn8u45tb7uh/o3f8eyia3f4n","pattern":"hook:client,role:transport,type:web","action":"(q1yytemztu3k)","plugin_name":"transport","plugin_tag":"-","prior":{"chain":[],"entry":true,"depth":0},"start":1487199713842,"sync":true},"tx$":"o3f8eyia3f4n","host":"0.0.0.0","path":"/act","protocol":"http","timeout":5555,"max_listen_attempts":11,"attempt_delay":222,"serverOptions":{}},{"kind":"res","res":null,"error":{"isBoom":true,"isServer":true,"output":{"statusCode":504,"payload":{**"statusCode":504,"error":"Gateway Time-out**","message":"Client request timeout"},"headers":{}}},"sync":true,"time":{"client_recv":1487199799177}}] 

A "からstatusCode":私は、同じデータのためではなくハピ+セネカ-Web経由で要求したときに

は、しかし、私はこのエラーを受け取りますマイクロサービスがデータを返す数秒前。

そして、これは私の設定です:

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

私が間違っているのは何かこれを引き起こしているものタイムアウト?

+0

コールバックが呼び出されていない可能性があります。 –

答えて

0

私は同じ問題を抱えていましたが、それを修正しましたが、VERY BAD PRACTICEです。

「transport.js」のseneca-transportフォルダに移動します。 「タイムアウト:5555」と表示されます。 先に進み、必要なものに変更してください。

なぜこれがUSERのデフォルトを取得していないのか分かりません。 私の知る限りでは、これはクライアントのタイムアウトを指しています。サーバーのタイムアウトを使用していることを確認してください。

関連する問題