JP1/Automatic Job Management System 2 解説
ファイルを実行して処理を行うようなジョブネットの定義には,標準ジョブを使用します。
「プログラムjuchu.exeで総受注数計算してファイルに出力した結果と,shiire.exeで総仕入れ計算してファイルに出力した結果から,nippou.exeで売り上げデータを算出して売り上げ日報を作成・印刷する。なお,総受注計算と売り上げ日報の作成はhostA(Windows)で,総仕入れデータ計算はhostB(UNIX)で実行する。」というジョブネットを,標準ジョブを使って定義する例を次に示します。
図3-21 標準ジョブを使ったジョブネットの定義例
「総受注計算」と「売り上げ日報作成」の実行先ホストはWindowsなのでPCジョブを,「総仕入れ計算」の実行先ホストはUNIXなのでUNIXジョブを使用します。
「総受注計算」には,実行ホストとしてhostAを,実行ファイル名にjuchu.exeを指定します。「総仕入れ計算」には,実行ホストとしてhostBを,実行ファイル名にshiire.exeを指定します。「売り上げ日報作成」には,実行ホストとしてhostAを,実行ファイル名にnippou.exeを指定します。「総受注計算」と「総仕入れ計算」の実行順序に前後関係はありませんが,双方の結果から売り上げデータを算出するので,図のようなジョブフローになります。
また,標準ジョブでは実行結果の終了判定ができます。終了判定には,次の五つの方法があります。
- 終了判定の方法
- 常に正常
- 常に異常
- ファイルが存在すれば正常
ファイル名を指定しておき,実行ホスト上にそのファイルがあれば正常終了とします。
- ファイルが更新されれば正常終了
ファイル名を指定しておき,ジョブの実行開始から終了までの間にそのファイルが更新されれば正常終了とします。
- しきい値による判定
ジョブ終了時の戻り値によって正常終了か,異常終了か,警告終了かを判断します。この判断基準となるしきい値(警告しきい値・異常しきい値)を設定しておき,終了時の戻り値と設定したしきい値の大小関係で判定します。
終了時の戻り値が警告しきい値以下であれば正常終了,警告しきい値より大きく異常しきい値以下であれば警告終了,異常しきい値より大きければ異常終了とします。なお,戻り値は符号なしの整数値として判定されます。例えば「-1」は,Windowsでは「4,294,967,293」,UNIXでは「255」として扱われます。
例えば,この例で「総受注計算」と「総仕入れ計算」の計算結果がファイルに出力され,更新されたら「売り上げ日報作成」を実行させるように定義する場合は,「総受注計算」と「総仕入れ計算」の終了判定方法を「ファイルが更新されれば正常終了」とします。
- 実行ファイルの指定について
実行ファイルは,実行先のホスト上にあることが前提となります。実行ホストでの絶対パスまたは相対パスで指定します。PCジョブの場合,実行ファイルとして指定できるファイルは一つのPCジョブにつき1ファイルに限ります。
なお,標準ジョブに定義した実行ファイルの処理は,バックグラウンドで実行されるため画面やメッセージを表示して入力待ちになるような処理の場合は,待ち状態を解除できなくなります。ただし,表示されたウィンドウに対する処理が定義されているコマンドであれば問題はありません。
- 優先順位について
ジョブネットを実行したときのジョブプロセスの優先順位を設定できます。基本的には,ルートジョブネットに設定した優先順位で実行されますが,標準ジョブの場合は,ジョブに個別に設定することもできます。
優先順位の設定値に対するWindowsでの優先順位とUNIXでの優先順位について,次に示します。
表3-6 優先順位の設定値とWindows,UNIXでの値の意味
優先順位の設定値 Windowsでの実行優先順位※1 UNIXでの実行優先順位※2 1 対話処理と比較して低い
JP1/AJS2サービスのnice値+20 2 JP1/AJS2サービスのnice値+10 3 対話処理と同等 JP1/AJS2サービスのnice値 4 対話処理と比較して高い
JP1/AJS2サービスのnice値-10 5 JP1/AJS2サービスのnice値-20
- 注※1
- Windowsの場合,優先順位は3段階になります。次の三つの優先順位クラスを設定してジョブのプロセスを起動します。
- 優先順位の設定値が[1]または[2]の場合は,システムがアイドル状態のときに実行されます。
(Windowsで規定されるIDLE_PRIORITY_CLASSを設定します)
- 優先順位の設定値が[3]と場合は,一般的なプロセスとして実行されます。
(Windowsで規定されるNORMAL_PRIORITY_CLASSを設定します)
- 優先順位の設定値が[4]または[5]の場合は,上記の優先順位クラスを割り当てられたプロセスのスレッドより先に実行されます。
(Windowsで規定されるHIGH_PRIORITY_CLASSを設定します)
- 注※2
- UNIXの場合,nice値のデフォルトとして,jajs_spmdを実行した際のJP1/AJS2サービスのnice値を基準とします。特に設定されていない場合のnice値は20が仮定されます。
- 優先順位の設定値が[1]でnice値が20の場合,優先順位の値は次のようになります。
- 39 ≒ 20(初期値)+ 20(増分値)
- nice値の範囲(0〜39)を超える場合,最大値は39,最小値は0です。
- なお,実行先サービスを[JP1/AJS2 Queueless Agent]とした場合,nice値は固定の値を設定します。nice値には実行優先順位の低い順から39,30,20,10,または0のどれかを設定します。nice値を変更する場合は,これらのnice値に対応したジョブの実行優先順位を指定してください。
- 実行時のユーザー
標準ジョブの場合,実行先のホストでジョブを実行するためのOSユーザーを指定しておくことができます。ジョブネットを実行登録すると,ジョブの実行ユーザーであるJP1ユーザーに対して「実行時のユーザー」に指定したOSユーザーがマッピングされ,このOSユーザーのアカウントでジョブが実行されます。指定を省略した場合は,実行ユーザーであるJP1ユーザーにマッピングされているプライマリーユーザーで実行されます。
なお,ユニットに対するJP1ユーザーの権限やホストのOSユーザーマッピングなどの詳細については,「8. ユーザー管理とアクセス制御」を参照してください。
- 転送ファイルの指定
標準ジョブを実行する際に必要なファイルが実行ホスト上にない場合,マネージャーホストまたはコマンドを実行するホストから,実行ホスト(エージェント)に転送して実行させることもできます。この場合,転送できるファイルはテキスト形式のものに限ります。
Copyright (C) 2006, 2010, Hitachi, Ltd.
Copyright (C) 2006, 2010, Hitachi Software Engineering Co., Ltd.