* 動的実行ユーティリティ(V1.0.3以上) [#dba8f1d1]
#freeze
* 動的実行ユーティリティ(V0.9.3以上) [#dba8f1d1]

「realtime」ユーティリティはネットワークをその場で生成・実行するためのユーティリティです。

** 実行方法 [#k1d35057]

 realtime [-n 識別名] URL

|パラメータ|説明|h
|-n 識別名|実行時のネットワーク名や、読み込むジョブ詳細CSVファイルの振り分けに利用する識別名を指定します。省略可能です。|
|URL|実行するネットワークの情報を、指定したURLに対するHTTPリクエストで取得します。|

*** 実行ネットワーク情報のフォーマット [#k23a13f0]
** 実行ネットワーク情報のフォーマット [#k23a13f0]

realtimeユーティリティは指定したURLからJSON形式の実行ネットワーク情報を取得し、実行します。

 {
     "flow":"フロー定義",
     "jobs":[
         {"name":"ジョブ名","項目名":"定義内容","項目名":"定義内容",…},
         ...
     ]
 }

|要素名|説明|h
|flow||
|jobs||
|flow|フローを記述します。書式は簡易フローファイルと同様です。&br;[[詳しい書式はこちら>「flowgenユーティリティ」を利用した作成方法#ldd29c0f]]|
|jobs|拡張ジョブ定義を記述します。以下の項目を指定可能です。&br;name : ジョブ名(必須)&br;node : 実行ノード名&br;port : ポート番号&br;path : 実行ファイル&br;param : 実行時引数&br;env : 実行時環境変数&br;work : 作業ディレクトリ&br;wrc : 警告終了コード下限&br;wptn : 警告終了出力パターン&br;erc : 異常終了コード下限&br;eptn : 異常終了出力パターン&br;timeout : 実行タイムアウト時間&br;snode : セカンダリノード名&br;sport : セカンダリポート番号|

*** 例 [#s23ff143]
 {
     "flow":"job1->job2->[job3,job4,job5->job6]->job7",
     "jobs":[
         {"name":"job2","node":"123.45.67.89","port":"1234"},
         {"name":"job7","env":"RESULT=$MJjob3:RC$"}
     ]
 }

** 拡張ジョブ定義CSVファイル [#b5dfe638]

realtimeユーティリティをオプション無しで実行した場合、以下のCSVファイルが実行時に自動的にロードされます。

 [master.ini内のjobnet_dir]/realtime/default.csv

また、realtimeユーティリティに-nオプションを付けて実行した場合は、代わりに以下のファイルをロードします。

 [master.ini内のjobnet_dir]/realtime/[識別名].csv

なお、CSVファイル内の拡張ジョブ定義とJSON内のjobs要素で指定した拡張ジョブ定義が重複した場合は、後者が優先して適用されます。

** 実行結果の確認方法 [#h5cff9c9]
*** 動的実行結果の出力 [#n029de8a]
realtimeユーティリティは、実行結果として以下のJSONメッセージを標準出力します。

 {
     "status":終了ステータス,
     "message":"結果メッセージ",
     "pid":masterプロセスID,
     "network":{
         "instance":インスタンスID,
         "name":"ネットワーク名"
     }
 }
|要素名|説明|h
|status|0 : ネットワークの実行に成功し、インスタンスIDが出力された&br;1 : masterが異常終了した&br;2 : realtimeユーティリティが異常終了した(masterが実行されなかった)|
|message|status=0のとき : "Success."&br;status=1のとき : masterの標準出力&br;status=2のとき : realtimeのエラーメッセージ|
|pid|masterのプロセスID。実行されなかった場合は0が挿入される。|
|network|実行されたネットワーク情報(status=0のときのみ有効な値が挿入される)&br;instance : インスタンスID&br;name : ネットワーク名|

出力された値からネットワーク実行開始の成否を知ることが出来ます。また、ネットワーク実行成功時にはインスタンスIDが出力されるため、[[showユーティリティ>結果表示ユーティリティ]]を用いて実行結果を知ることができます。

*** ネットワーク名について [#g86432bd]
オプション無しで動的実行したネットワークのネットワーク名は以下のように決まります。

 realtime_YYYYMMDDHHmmss (YYYYMMDDHHmmss=realtimeユーティリティの実行日時)

また、-nオプションを指定した場合は以下のように変わります。

 realtime_識別名_YYYYMMDDHHmmss

** その他の注意事項 [#oc305ce0]
- realtimeユーティリティでのマスタ実行には、デフォルトのマスタ設定ファイルが使用されます。
- realtimeユーティリティはネットワークのインスタンスIDが確定次第、ネットワークの実行完了を待たずに終了します。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS