Question about timeouts
まだ誰も着手していません。
評価
調査の方向性
AWS Lambda C++ runtime の例と、issue に示されている run_handler 呼び出しから始め、5 秒の実行と 70 秒の実行の違いを再現する。タイムアウトの動作と設定がどこに文書化されているかを確認し、観測された再起動と設定オプションを説明できる程度に、関連する開発者向けリファレンスを明確にする。
索引モデルが issue の本文から書いたものです。
説明
Hello,
I have followed the examples here: https://aws.amazon.com/blogs/compute/introducing-the-c-lambda-runtime/
When I run my internal execution so that it takes 5 seconds everything works fine. But when I run it for 70 seconds I never get any response and the lambda function seems to be restarting several times. My guess is that is has to do with some timeouts. But how do I configure them? I cannot find any good developer reference.
static invocation_response my_handler(invocation_request const& req, Aws::S3::S3Client const& client) {
using namespace Aws::Utils::Json;
JsonValue json(req.payload);
if (!json.WasParseSuccessful()) {
return invocation_response::failure("Failed to parse input JSON", "InvalidJSON");
}
auto v = json.View();
if (!v.ValueExists("s3bucket") || !v.ValueExists("s3key") || !v.GetObject("s3bucket").IsString() ||
!v.GetObject("s3key").IsString()) {
return invocation_response::failure("Missing input value s3bucket or s3key", "InvalidJSON");
}
auto bucket = v.GetString("s3bucket");
auto key = v.GetString("s3key");
AWS_LOGSTREAM_INFO(TAG, "Attempting to download file from s3://" << bucket << "/" << key);
// Internal execution about 70 seconds...
string response = "Success!";
return invocation_response::success("We did it! Response: " + response, "application/json");
}
std::function<std::shared_ptr<Aws::Utils::Logging::LogSystemInterface>()> GetConsoleLoggerFactory() {
return [] {
return Aws::MakeShared<Aws::Utils::Logging::ConsoleLogSystem>(
"console_logger", Aws::Utils::Logging::LogLevel::Info);
};
}
Aws::Client::ClientConfiguration getS3Config() {
Aws::Client::ClientConfiguration config;
config.region = "us-east-1";
config.scheme = Aws::Http::Scheme::HTTP;
return config;
}
Aws::Client::ClientConfiguration getS3ConfigWithBundle() {
cout << "USING S3 REGION: " << Aws::Environment::GetEnv("AWS_REGION") << endl;
Aws::Client::ClientConfiguration config;
config.region = Aws::Environment::GetEnv("AWS_REGION");
config.scheme = Aws::Http::Scheme::HTTP;
return config;
}
void run_lambda_handler() {
Aws::S3::S3Client client(getS3ConfigWithBundle());
auto handler_fn = [&client](aws::lambda_runtime::invocation_request const& req) {
return my_handler(req, client);
};
run_handler(handler_fn);
}
int main(int argc, const char **argv) {
Aws::SDKOptions options;
options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Info;
options.loggingOptions.logger_create_fn = GetConsoleLoggerFactory();
Aws::InitAPI(options);
run_lambda_handler();
Aws::ShutdownAPI(options);
return 0;
}
- 主要言語
- C++
- スター
- 465
- フォーク
- 98
- 平均マージ
- 1時間 16分
- マージ済み PR(30日)
- 2
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
awslabs/aws-lambda-cpp のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
awslabs/aws-lambda-cpp#205 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
awslabs/aws-lambda-cpp#196 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
awslabs/aws-lambda-cpp#195 · コメント 11 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
awslabs/aws-lambda-cpp#194 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
awslabs/aws-lambda-cpp#188 ·
awslabs/aws-lambda-cpp の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
AXERA-TECH/ax-llm#77 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
games-on-whales/wolf#509 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
bug-unconfirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
NVIDIA/cuda-samples#453 ·