LoginSignup
4
3

More than 5 years have passed since last update.

Lambdaがタイムアウトした時に実行中の処理はどうなるのか

Last updated at Posted at 2019-01-16

概要

下記を実験します。

  • Lambdaだけで実行してタイムアウトさせるとどうなるか
  • API Gatewayと繋いだ時のLambda処理とAPIのレスポンスがどうなるか

環境

  • Lambdaのタイムアウトを3秒にし、Lambda自体の処理が3秒以上かかる状態にしてLambdaを起動させる。

Lambdaだけで実行してタイムアウトさせるとどうなるか

LambdaをLambdaのページから単体で起動します。
※Lmabdaのページの"テスト"ボタンを押すだけ

ソース


import json
import time

def lambda_handler(event, context):

    for idx in range(10):
        print(idx)
        time.sleep(1)

    return "hello"

結果

Lambdaのログ

タイムアウト以降の処理は実行されず、タイムアウト時点で処理が強制終了させられます。

Response:
{
  "errorMessage": "2019-01-16T14:06:59.665Z fbb0936c-1997-11e9-a789-77de14672ab0 Task timed out after 3.00 seconds"
}

Request ID:
"fbb0936c-1997-11e9-a789-77de14672ab0"

Function Logs:
START RequestId: fbb0936c-1997-11e9-a789-77de14672ab0 Version: $LATEST
0
1
2
END RequestId: fbb0936c-1997-11e9-a789-77de14672ab0

API Gatewayと繋いだ時のLambda処理とAPIのレスポンスがどうなるか

これだけだと面白みに欠けるので、API GatewayからLambdaへプロキシする形にしてLambdaがタイムアウトした時にどうなるかを見てみます。

結果

APIへのリクエストのレスポンス

API Gatewayの中のAPI毎の設定の "ゲートウェイのレスポンス" の "DEFAULT 5XX" で設定した内容が出力されます。

{"message": "Internal server error"}

Lambdaのログ

3秒以降はAPI Gatewayから繋いでも強制終了されています。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|       @timestamp        |                                                                      @message                                                                      |
|-------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| 2019-01-16 14:30:20.242 | START RequestId: 40618977-199b-11e9-97b8-1dd8c5fdb605 Version: $LATEST                                                                             |
| 2019-01-16 14:30:20.317 | 0                                                                                                                                                  |
| 2019-01-16 14:30:21.318 | 1                                                                                                                                                  |
| 2019-01-16 14:30:22.319 | 2                                                                                                                                                  |
| 2019-01-16 14:30:23.254 | REPORT RequestId: 40618977-199b-11e9-97b8-1dd8c5fdb605 Duration: 3003.36 ms Billed Duration: 3000 ms  Memory Size: 128 MB Max Memory Used: 21 MB   |
| 2019-01-16 14:30:23.254 | END RequestId: 40618977-199b-11e9-97b8-1dd8c5fdb605                                                                                                |
| 2019-01-16 14:30:23.254 | 2019-01-16T14:30:23.253Z 40618977-199b-11e9-97b8-1dd8c5fdb605 Task timed out after 3.00 seconds                                                    |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3