Ruby AWS Client Лямбда-вызов ReadTimeout - PullRequest
0 голосов
/ 11 июля 2019

My Rails Application использует AWS SDK v3 для вызова лямбда-функций следующим образом

        lambda_client = Aws::Lambda::Client.new(client_config)
        lambda_return_value = lambda_client.invoke(
        {
            function_name: function_name,
            invocation_type: 'RequestResponse',
            log_type: 'None',
            payload: generated_payload,
        }

Большинство моих лямбда-функций выполняются успешно, но те, которые занимают более ~ 60 секунд, приводят к следующему исключению на стороне ruby, даже если лямбда-функция выполняется полностью

A Seahorse::Client::NetworkingError occurred in background at 2019-07-11 00:47:18 -0500 :
  Net::ReadTimeout

Я просмотрел документацию и не могу найти способ установить более длительный тайм-аут для моего лямбда-вызова. Любые идеи, как получить рубин, чтобы ждать вызова, а не тайм-аут?

1 Ответ

2 голосов
/ 11 июля 2019

Привет Aws :: Lambda :: Время ожидания клиента по умолчанию равно 60, но вы можете изменить это при создании нового клиента. Установите :http_read_timeout в вашем client_config

client_config = {
....
http_read_timeout: 100
}

then create new client

lambda_client = Aws::Lambda::Client.new(client_config)

Для более подробной информации: https://docs.aws.amazon.com/sdkforruby/api/Aws/Lambda/Client.html

Я надеюсь, что полезно

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