Azure Container InstanceでSpring Batchのアプリを動かす(4)Azure Container Instance上のアプリを定期実行する

Azure Container InstanceでSpring Batchのアプリを動かすことをやっています。過去の内容は以下を参照してください。

今回作ったSpring BatchアプリはCSVファイルを読み取ってデータベースに追記する処理を行うものです。このアプリを定期実行することをやってみます。

Logic Appsを使ってみる

定期実行する仕組みは色々あるかと思いますが、今回はLogic Appsを利用することにします。

docs.microsoft.com

Azure Portal上でLogic Appsを作ると、以下のような画面が出てLogic Appsの操作がわかるようになっています。

f:id:miyohide:20211010162124p:plain

画面をスクロールするといろいろとテンプレートが表示されるのですが、今回は「空のテンプレート」を選択します。こんな画面になりました。

f:id:miyohide:20211010171009p:plain

スケジュールトリガーとAzure Container Instanceコネクタの利用

目的の定期実行を達成するには、スケジュールトリガーとAzure Container Instanceコネクタを利用すると良さそうです。ドキュメントは以下のものを参考にしました。

スケジュールトリガーは以下のもの。 docs.microsoft.com

Azure Container Instanceコネクタは以下のもの。 docs.microsoft.com

コネクタにはたくさんありますが、「コンテナー グループ内のコンテナーを開始する」を使いました。

作成結果は以下の通り。 f:id:miyohide:20211010165620p:plain

5分ごとに起動するようにしました。

実行

5分ごとに起動するように設定したので、その動作を確認します。設定通り5分ごとに処理が行われています。

f:id:miyohide:20211010170128j:plain

それぞれの行をクリックすると各ステップごとの実行時間などがわかるようです。

f:id:miyohide:20211010171316p:plain

Azure Container Instance自身もLogic Appsのタイミングで起動しています。

f:id:miyohide:20211010170242p:plain

やってみてわかりましたが、実行ごとにイメージの取得から行うようです。大きいイメージの場合は実際の処理時間とずれが顕著に現れるかもしれません。