Warning: Undefined global variable $stdata321 in /home/physalis/physalisgp02.com/public_html/awsblog/wp-content/themes/affinger/functions.php on line 6855

Warning: Undefined global variable $stdata322 in /home/physalis/physalisgp02.com/public_html/awsblog/wp-content/themes/affinger/functions.php on line 6855

Warning: Undefined global variable $stdata323 in /home/physalis/physalisgp02.com/public_html/awsblog/wp-content/themes/affinger/functions.php on line 6855
実戦的なLambdaサンプルソース その2 - とあるAWSエンジニアの戯言

Lambdaサンプルソース

実戦的なLambdaサンプルソース その2

前説

第2弾の構想で書いた通り、多重度の指定が可能なLambdaのサンプルソースです。
第1弾サンプルソースと今回のサンプルソースがあれば、大概の業務の基底処理としては耐えられるかな、、、と思います。
いつも開発する際には、多重並行処理がいらなければ第1弾サンプルソース、多重並行処理が必要であれば第2弾サンプルソースと基底を使い分けて開発を行っています。

githubにて公開

第1弾のソースに、さらに下記の機能を盛り込んだサンプルソースです。ダウンロードは下記より

https://github.com/SyoAwsBlog/ShoLambdaSample02

  • ワーカー処理(疑似スレッド処理)のログレベル別管理
  • 多重度の環境変数指定
  • ワーカー処理(疑似スレッド処理)毎のSleep機能(環境変数指定)

設定可能な環境変数

変数名変数値
LogLevelログの出力レベルを(0~4)までの間で設定する
LogLevelForWorkerログの出力レベルを(0~4)までの間で設定する(ワーカー処理(疑似スレッド処理))
ExecutorsThreadsNum並行処理の多重度を数字で指定
ExecutorsThreadsWaitワーカー処理(疑似スレッド処理)毎に Sleepを入れられる(ミリ秒指定)
autoFunctionRetry省略したらエラー時再実行はしない。0より大きい値(数字)を設定すると、その回数、再実行を行う

多重実行の挙動確認

Lambda環境変数:ExecutorsThreadsNumを設定して、(例えば 1 と 3 )実行すると、CloudWatchにて並列処理的な処理順序で行われている事が確認できます。

あとがき

自分が開発において良く使う基底パターンの2種(単純直列型、多重度指定つき並列処理型)を、サンプルとして紹介できました。
ここからは、お待ちかねであろう、このサンプルソースを使って、具体的なAWSサービスと連携する場合のサンプルシリーズを掲載していこうと思います。

スポンサーリンク

-Lambdaサンプルソース
-, , , , ,