【Hinemos】コマンドラインツールを用いて、実行契機の有効/無効を切り替えてみた
投稿日: / 更新日:
■はじめに
こんにちは!今回は、Hinemosコマンドラインツールについての記事です。
中でも実行契機の有効/無効を切り替えるコマンドラインに焦点を絞ってご紹介します。
■コマンドラインツールとは
Hinemosコマンドラインツールは、HinemosのWebサービスAPI(アプリケーションプログラミングインタフェース)を
利用して、 Hinemosクライアント上のほぼ全ての操作をCUI(キャラクタユーザ インタフェース)上で実現可能となる
運用支援ツールです。
Hinemosコマンドラインツールの詳細ついて、以下の記事で紹介していますので参考にしてみてください。
■job_setJobKickStatusについて
コマンドラインツールを用いて様々なことができますが、その一つとして、「実行契機の有効/無効の切り替え」が
あります。
その際に使用するコマンドラインが、今回ご紹介する[job_setJobKickStatus]になります。
■実際に実行契機の有効/無効を切り替えてみる
1. ジョブの設定
実行契機を設定する対象のコマンドジョブを、以下の内容で作成します。
[tmp]ディレクトリにある[test.txt]というテキストファイルに日時を追記する内容となっています。
2. 実行契機の設定
1.で設定したコマンドジョブに紐づける実行契機を以下の内容で設定します。
今回はスケジュール実行契機を選択しました。
毎時00分から05分ごとに繰り返し実行するよう設定しています。
また、「有効/無効」状態は「無効」で設定しておきます。
3. job_setJobKickStatusを実行
では、実際にコマンドラインツールを用いて、「2.実行契機の設定」 で設定したスケジュール実行契機を「有効」に
切り替えてみます。
[job_setJobKickStatus]は以下の内容で実行します。
1 2 3 4 5 6 7 8 |
json=$(cat << EOS { "jobKickId" : [ "schedule001" ], "validFlag" : true } EOS ) python job_setJobKickStatus.py -H "http://127.0.0.1:8080" -U "hinemos" -w "hinemos" -L "ja" -t "10" -S "$json" |
4.実行契機が「有効」に切り替わっているか確認
コマンドラインの実行後、以下のようなメッセージが表示されれば成功です。
1 2 |
~(省略)~ http://127.0.0.1:8080, job_setJobKickStatus.py succeeded. |
実際に実行契機が「有効」に切り替わっているか確認してみます。
「2.実行契機の設定」で「有効/無効」のチェック欄を「無効」で設定していましたが、「有効」に切り替わっていることが
確認できます。
コマンドジョブがスケジュール実行契機で設定した通りに動いているかを確認してみましょう。
11時40分から5分ごとにtest.txtに日時が追記されていることが確認できます。
※コマンドラインによる実行契機の有効化を行ったのが2024年1月26日11時36分ごろ
■job_setJobKickStatusの使用例
今回ご紹介した[job_setJobKickStatus]をコマンドジョブの起動コマンドに設定し、以下のような運用を行うことも
可能です。
- ジョブ[1]で正常性チェック
- 問題なければジョブ[2]を実行
- ジョブ[2]は18時になるまで毎時0分から5分毎に繰り返し実行
18時以降は非稼働
構成例は以下のようになります。
▽コマンドジョブ[1]の内容
・実行内容は適宜設定
▽コマンドジョブ[1.5]の内容
・待ち条件をコマンドジョブ[1]の終了状態が「正常」に設定
・スケジュール実行契機[1](※1)を「有効」にするよう設定した[job_setJobKickStatus]を起動コマンドに設定(※2)
▽コマンドジョブ[2]の内容
・実行内容は適宜設定
・スケジュール実行契機[1]を設定
▽コマンドジョブ[3]の内容
・スケジュール実行契機[1]を「無効」にするよう設定した[job_setJobKickStatus]を起動コマンドに設定(※3)
・スケジュール実行契機[2](※4)を設定
※1 スケジュール実行契機[1]の内容:毎時00分から05分ごとに繰り返し実行
※2 当研究日誌「3.job_setJobKickStatusを実行」で使用したコマンドを参考に作成した起動コマンド例
1 2 3 4 5 6 7 |
json=$(cat << EOS { "jobKickId" : [ "schedule001" ], "validFlag" : true } EOS ) && python job_setJobKickStatus.py -H "http://127.0.0.1:8080" -U "hinemos" -w "hinemos" -L "ja" -t "10" -S "$json" |
※3 上記コマンドのリクエストボディにおける[true]を[false]に変更したもの
※4 スケジュール実行契機[2]の内容:毎日17時59分に実行
■おわりに
Hinemosの運用でご参考になれば幸いです。