【Hinemos 5.0】特定のジョブの実行結果をコマンドで取得する(その2・後編)

前回に引き続き、ジョブ自体の終了値等をコマンドで取得する方法の研究です。WebサービスAPIのgetJobDetailListメソッドで取得したジョブ詳細情報のオブジェクトを上から下に探索していき、目的のジョブの終了状態と終了値を取得する、というロジックを、例によってPerlで実装してみます。

Continue reading ‘【Hinemos 5.0】特定のジョブの実行結果をコマンドで取得する(その2・後編)’ »

【Hinemos 5.0】特定のジョブの実行結果をコマンドで取得する(その2・前編)

前回は、ジョブの起動コマンドの戻り値をコマンドで取得しました。今度は、ジョブ自体の終了値等をコマンドで取得してみたいと思います。

Continue reading ‘【Hinemos 5.0】特定のジョブの実行結果をコマンドで取得する(その2・前編)’ »

【Hinemos 5.0】特定のジョブの実行結果をコマンドで取得する(その1の補足)

前回の記事で、ジョブの起動コマンドの戻り値を取得する方法をご紹介しましたが、実は、一点ほど困った問題があります。

対象のジョブを、スコープを指定して複数のノードで実行した場合に、前回ご紹介したコマンドラインツール(Job_getNodeDetailList.py)は、以下のような情報を出力します。

[root@nodexxx hinemos_command_line]# ./Job_getNodeDetailList.py \
> -H http://127.0.0.1:8080/HinemosWS/ -U hinemos -w hinemos \
> -S 20161129102740-000 -J JU_TEST -I JB_TEST
[(jobNodeDetail){
   endDate = "2016/11/29 10:27:41.707"
   endValue = 12
   facilityId = "nodexxxalt"
   message = "[2016/11/29 10:27:41] stdout=, stderr=
[2016/11/29 10:27:41] コマンド終了待ち
[2016/11/29 10:27:40] エージェント応答待ち"
   nodeName = "nodexxxalt"
   startDate = "2016/11/29 10:27:41.629"
   status = 300
 }, (jobNodeDetail){
   endDate = "2016/11/29 10:27:41.640"
   endValue = 12
   facilityId = "nodexxx"
   message = "[2016/11/29 10:27:41] stdout=, stderr=
[2016/11/29 10:27:41] コマンド終了待ち
[2016/11/29 10:27:40] エージェント応答待ち"
   nodeName = "nodexxx"
   startDate = "2016/11/29 10:27:41.523"
   status = 300
 }]

http://127.0.0.1:8080/HinemosWS/, getNodeDetailList succeeded.

ご覧のとおり、endValueが2ヶ所あります(いうまでもなく、ジョブの実行ノード数と同じです)。つまり、単純にgrepすると、endValueが2行ヒットしてしまい、正しい戻り値が取得できないということになります。これは困りました…

Continue reading ‘【Hinemos 5.0】特定のジョブの実行結果をコマンドで取得する(その1の補足)’ »