rem*_*ada 1 ruby ruby-on-rails aws-lambda
我的 Rails 应用程序使用 AWS SDK v3 调用 lambda 函数,如下所示
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,
}
Run Code Online (Sandbox Code Playgroud)
我的大多数 lambda 函数都成功执行,但即使 lambda 完全执行,耗时超过 60 秒的函数也会在 ruby 端导致以下异常
A Seahorse::Client::NetworkingError occurred in background at 2019-07-11 00:47:18 -0500 :
Net::ReadTimeout
Run Code Online (Sandbox Code Playgroud)
我已阅读文档,但找不到为 lambda 调用设置更长超时的方法。有什么想法如何让 ruby 等待调用而不是超时?
小智 5
您好,Aws::Lambda::Client 默认超时为 60,但您可以在创建新客户端时更改此设置。:http_read_timeout在你的 client_config 中设置
client_config = {
....
http_read_timeout: 100
}
then create new client
lambda_client = Aws::Lambda::Client.new(client_config)
Run Code Online (Sandbox Code Playgroud)
更多参考:https://docs.aws.amazon.com/sdkforruby/api/Aws/Lambda/Client.html
我希望有帮助
| 归档时间: |
|
| 查看次数: |
1080 次 |
| 最近记录: |