質問
OracleDBの特定テーブルを毎日12時から13時のあいだ5分間隔でポーリングし、条件が満たされたタイミングでGoogle Chat(Webhook経由)に通知する仕組みをHULFT Squareで構築するには、どのようなジョブ構成が必要ですか?
なお、一度成功通知を出したら、当日は通知を出さないようにしたいです。
回答
HULFT Squareのジョブ機能を組み合わせて構築する方法として、以下の3つのジョブを用意する案があります。
**① フラグファイル削除用ジョブ**
- スケジュールジョブで「毎日昼12時の直前」に実行します。
- [ファイル/ディレクトリー削除処理]コンポーネントを使用してフラグファイルを削除します。
- 前日にフラグファイルが作成されなかった場合を考慮し、[ファイル/ディレクトリーが存在しない場合はエラー]は「チェックなし」に設定します。
**② フラグファイル作成用(ポーリング用)ジョブ**
- スケジュールジョブで「毎日昼12時~13時の間、5分間隔」に実行します。
- [ファイル/ディレクトリー存在確認処理]でフラグファイルの存在を確認し、[条件分岐処理]で後続処理を分岐します。
- フラグファイルが存在する場合:スクリプトを終了します。
- フラグファイルが存在しない場合:OracleコネクターのDBコンポーネントでSQLを実行し、結果に応じてフラグファイルを作成します。
**③ 通知用ジョブ**
- ファイルイベントジョブでフラグファイルの作成を監視し、作成されたらスクリプトを実行します。
- Google Chat専用コネクターは用意されていないため、RESTコネクターを使用してGoogle Chat(Webhook経由)へリクエストする方法が候補となります。
- RESTコネクターは汎用コネクターであり、Google Chatへの具体的な設定方法の案内は対象外です。利用可否はお客様側での検証が必要です。
補足
- 参考マニュアル
- ジョブ
- 条件分岐処理
- REST
コメント
0件のコメント
記事コメントは受け付けていません。