はじめに
データ連携では、一時的な通信エラーやファイル不備など、さまざまな要因によってジョブが異常終了する可能性があります。そのため、ジョブの実行結果を適切に監視し、異常発生時に迅速に対応できる仕組みを実装しておくことが重要です。
HULFT Squareでは、例外監視処理やスクリプト呼び出し処理を利用することで、ジョブ実行スクリプトとジョブ監視スクリプトを分離した構成を実装できます。この構成により、実行対象の処理と監視ロジックを明確に分けることができ、保守性や再利用性の向上が期待できます。
本記事では、ジョブ実行スクリプトで処理結果を保持し、その結果をジョブ監視スクリプトから判定することで、ジョブの正常終了・異常終了を監視する仕組みの構築方法を紹介します。
実施手順
以下の手順を実施します。
1. ジョブ実行スクリプト作成
2. ジョブ監視スクリプト作成
1. ジョブ実行スクリプト作成
ジョブ実行スクリプトを作成し、処理の成功/失敗を保持するスクリプト変数(success_flag)を設定します。
① 例外監視処理を作成
例外監視処理を配置することで、監視対象処理で発生した例外をcatchアイコンで捕捉できるようになります。
[ツールパレット] ⇒ [基本] ⇒ [フロー] ⇒ [例外監視]コネクターを使用します。

[例外監視]コネクターの詳細については、例外監視処理を参照ください。
② 監視対象の処理を作成
監視対象の処理を作成し、[try]アイコンの先に置きます。
今回はCSVファイル読み取り(csv_read)とCSVファイル書き込み(csv_write)を作成します。

③ 変数代入処理を作成
スクリプト変数(success_flag)を作成します。スクリプト変数(success_flag)は処理結果(成功/失敗)を保持するための変数です。
[プロジェクトエクスプローラ]のスクリプト名を右クリックし、[新規作成] ⇒ [スクリプト変数]を選択して作成します。
[変数型]に真偽値型、[初期値]にfalseを設定し、[スクリプト出力変数として使用する]にチェックを入れます。

[ツールパレット] ⇒ [基本] ⇒ [処理] ⇒ [変数代入]コネクターを使用します。

[ツールパレット] ⇒ [条件] ⇒ [真偽値定数]を使用します。
[真偽値定数]からスクリプト変数(success_flag)に線を引きます。

[変数代入]コネクターの詳細については、ドキュメントMapper/変数Mapper(詳細)を参照ください。
[真偽値定数]の詳細については、真偽値定数を参照ください。
2. ジョブ監視スクリプト作成
ジョブ実行スクリプトの実行結果を判定し、異常終了時に通知できるジョブ監視スクリプトを作成します。
① スクリプト起動処理を作成
[ツールパレット] ⇒ [基本] ⇒ [処理] ⇒ [スクリプト呼び出し]コネクターを使用します。

[スクリプト呼び出し処理のプロパティ]の[必須設定]で、1. ジョブ実行スクリプト作成 で作成したスクリプトを指定します。

[スクリプト呼び出し]コネクターの詳細については、スクリプト呼び出し処理を参照ください。
② 条件分岐処理を作成
[ツールパレット] ⇒ [基本] ⇒ [フロー] ⇒ [条件分岐]コネクターを使用します。

[条件のプロパティ]の[条件式]で、ジョブ実行スクリプトのスクリプト変数(success_flag)がfalseと等しい場合の条件を設定します。

[条件分岐]コネクターの詳細については、条件分岐処理を参照ください。
③ 例外通知処理を作成
[ツールパレット] ⇒ [基本] ⇒ [処理] ⇒ [例外通知]コネクターを使用します。

スクリプト変数(success_flag)がfalseと等しい場合の条件分岐の先に置きます。

[例外通知処理のプロパティ]の[メッセージ]にログ出力したいメッセージを入力します。

[例外通知]コネクターの詳細については、例外通知処理を参照ください。
例外通知処理で設定したメッセージは、[モニタリング] ⇒ [サービス] ⇒ [HULFT Integrate] のイベントログに出力されます。
[イベントログ]の詳細については、HULFT Integrateを参照ください。
おわりに
いかがだったでしょうか。
本記事では、HULFT Squareを使用してジョブ実行スクリプトとジョブ監視スクリプトを作成し、ジョブの成功/失敗を監視する仕組みを構築する方法を紹介しました。
ジョブ実行スクリプトでは、処理結果をスクリプト出力変数として保持し、ジョブ監視スクリプトではその結果を利用して正常終了・異常終了を判定しています。このように実行処理と監視処理を分離することで、複数のジョブに対して同様の監視ロジックを適用しやすくなります。
ジョブ監視は安定したシステム運用を支える重要な仕組みです。本記事がHULFT Squareでの監視設計や運用設計を検討する際の参考になれば幸いです。
ここまで読んでいただき、ありがとうございました。それでは、また!




