Тайм-аут Lambda API после завершения функции - PullRequest
0 голосов
/ 14 декабря 2018

У нас есть лямбда-функция, которая вызывается с помощью JS API.Функция завершается правильно, мы видим лямбда-отчет в журналах.

END RequestId: c78a238e-fefd-11e8-935a-2526b5b5f5c1 
REPORT RequestId: c78a238e-fefd-11e8-935a-2526b5b5f5c1  Duration: 465968.78 ms   
Billed Duration: 466000 ms  Memory Size: 3008 MB    Max Memory Used: 290 MB

Как ни странно, вызов API возвращает ошибку «Необработанный».

   const params = {
       FunctionName: process.env.WORKER_LAMBDA,
       InvocationType: 'RequestResponse',
       Payload: {}
   };

    this.lambda.invoke(params).promise()
        .then(result => this._handleResult(launchParams, result))
        .catch(error => this._handleResult(launchParams, error));

Функция обработчика результатов регистрируетследующее:

Lambda result: { TimeoutError: Connection timed out after 990000.0000000001ms 
     at ClientRequest.<anonymous> (/opt/timeline/backend/node_modules/aws-sdk/lib/http/node.js:83:34) 
     at Object.onceWrapper (events.js:313:30) 
     at emitNone (events.js:106:13) 
     at ClientRequest.emit (events.js:208:7) 
     at TLSSocket.emitTimeout (_http_client.js:706:34) 
     at Object.onceWrapper (events.js:313:30) 
     at emitNone (events.js:106:13) 
     at TLSSocket.emit (events.js:208:7) 
     at TLSSocket.Socket._onTimeout (net.js:410:8) 
     at ontimeout (timers.js:498:11) 
     at tryOnTimeout (timers.js:323:5) 
     at Timer.listOnTimeout (timers.js:290:5) 
   message: 'Connection timed out after 990000.0000000001ms', 
   code: 'TimeoutError', 
   time: 2018-12-13T17:54:06.269Z, 
   region: 'us-east-1', 
   hostname: 'lambda.us-east-1.amazonaws.com', 
   retryable: true } 

Почему API возвращает ошибку, а функция успешно завершается, и AWS lambda знает об этом?

Спасибо за любую помощь!

Тамас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...