ジョブ制御クラスは,サブミットジョブを制御するクラスです。JP1/AJS3 - SOA Option専用のマネージャーホストのキューへ,サブミットジョブを実行登録します。ジョブの実行登録に成功した場合,ジョブ実行状況を監視します。ジョブの実行を強制的に終了することもできます。
このクラスのインスタンスを作成して使用してください。
ジョブ制御クラスインターフェースの詳細を次に示します。
メソッド名 | 説明 |
---|---|
AjsWsSubjob | ジョブ制御クラスのコンストラクタです。 |
subJobEntry | サブミットジョブの実行登録をします。 |
subJobGet | サブミットジョブの実行状況を監視します。 |
subJobKill | 実行中のサブミットジョブを強制終了します。 |
各メソッドの詳細を説明します。
(1) AjsWsSubjobメソッド
public AjsWsSubjob(
jp.co.Hitachi.soft.ajs2.ws.jobcontrol.AjsWsClient client,
java.lang.String manager,
java.lang.String queueName,
java.lang.String userName,
java.lang.String jobName,
int priority,
java.lang.String execFile,
java.lang.String[] args,
java.lang.String workPath,
java.lang.String shellPath,
java.lang.String exclusiveResourceName,
java.lang.String startTime,
int execLimitTime,
int recoverStatus,
java.lang.String stdinFilePath,
java.lang.String stdoutFilePath,
int stdoutWriteMode,
java.lang.String stderrFilePath,
int stderrWriteMode,
java.lang.String envFilePath)
項番 | 引数名 | 省略 | 説明 |
---|---|---|---|
1 | client | 不可 | 初期化済みのAjsWsClientのインスタンスを指定します。 |
2 | manager | 不可 | ジョブ制御要求を依頼するJP1/AJS3 - ManagerまたはJP1/AJS2 - Managerのホスト名を,1~255バイトの文字列で指定します。 JP1/AJS3 - SOA Optionのセットアップ時に設定するWS-Server動作環境設定定義ファイル(ajswsserver.conf)の「接続先JP1/AJS3 - Managerホスト名または接続先JP1/AJS2 - Managerホスト名」と同じ値を指定してください。 WS-Server動作環境設定定義ファイルの設定については,「6.6.7(1) WS-Server動作環境設定定義ファイル(ajswsserver.conf)」を参照してください。 |
3 | queueName | 不可 | ジョブの投入先のキュー名を,1~63バイトの文字列で指定します。 なお,JP1/AJS3 - SOA Optionからサブミットジョブの操作を要求する場合,エージェントの直接指定はできません。 |
4 | userName | 可 | ジョブ実行時のアカウントとなるOSユーザー名を,1~63バイトの文字列で指定します。 ジョブ実行ホストがWindowsの場合,サブミットジョブの実行ユーザーをローカルホストのユーザーに限定したいときは,OSユーザー名を「サーバ名¥ユーザー名」の形式で指定してください。 OSユーザー名を指定しない場合は,nullを指定してください。nullを指定した場合,WS-Server動作環境設定定義ファイルで指定するJP1ユーザーにマッピングされているエージェントホストのOSユーザーで実行されます。 |
5 | jobName | 可 | 登録するジョブ名を,1~63バイトの文字列で指定します。 ジョブ名を指定しない場合は,nullを指定してください。nullを指定した場合,execFileで指定する実行ファイル名のファイル名部分(パス名を除いた部分)の先頭から63バイト分の文字列が仮定されます。 |
6 | priority※1 | 可 | 登録するジョブの実行優先順位を,1~5の整数で指定します。 指定する実行優先順位の値と意味については,表4-6を参照してください。 実行優先順位を指定しない場合は,0を指定してください。何も指定しなかった場合は,実行優先順位は1が仮定されます。 |
7 | execFile | 不可 | 実行ファイル名を,1~511バイトの文字列で指定します。 ジョブ実行先エージェントホストがWindowsの場合,エージェントホストにある実行ファイル名を指定します。 ジョブ実行先エージェントホストがUNIXの場合,ジョブを実行するエージェントホストにあるスクリプトファイル名を指定します。 ファイル名は,絶対パスまたは相対パスで指定できます。相対パスで指定した場合,workPathで指定されたジョブ実行時の作業用パスまたはPATH環境変数で指定されたパスからの相対パスになります。有効となるPATH環境変数は,エージェントホストのOSによって異なります。
|
8 | args | 可 | 実行ファイルに対する引数を,文字列の配列形式で指定します。 各配列要素の文字列長の総和が1~(1,024 - (配列要素数*3))となるように指定します。 引数を指定しない場合はnullを指定してください。 |
9 | workPath | 可 | ジョブ実行時の作業用パス名を,1~511バイトの文字列で指定します。絶対パスで指定します。 作業用パスを指定しない場合は,nullを指定してください。nullを指定した場合,ジョブ実行時の作業用パスは次のパスが仮定されます。
|
10 | shellPath | 可 | エージェントホストのOSがUNIXの場合だけ指定できます。 ジョブの起動シェルおよび実行シェルを,1~511バイトの文字列で指定します。絶対パスで指定します。 起動シェルおよび実行シェルを利用しない場合,nullを指定してください。 |
11 | exclusiveResourceName | 可 | ジョブの排他実行をする場合,排他実行リソース名を1~63バイトの文字列で指定します。 ジョブの排他実行をしない場合は,nullを指定してください。 |
12 | startTime | 可 | ジョブの実行開始日時を指定します。 実行開始日時を指定しない場合,nullを指定してください。nullを指定した場合,または過去の日時を指定した場合,ジョブ実行開始日時は指定されなかったと仮定され,登録後ジョブは実行待ちまたは実行中状態になります。 日時は次の形式のどれかで指定してください。
|
13 | execLimitTime | 不可 | ジョブの実行が終了しない場合に実行を打ち切るジョブ実行開始時刻からの相対時間(分)を,1~1,440の整数で指定します。 ジョブ実行の打ち切りをしない場合は,0を指定してください。 |
14 | recoverStatus※2 | 不可 | ジョブ実行中にエージェントホストでトラブルが発生した場合の,ジョブの回復モードを整数定数で指定します。 指定できる値と内容は表4-7を参照してください。 ジョブの回復モードを指定しない場合は,0を指定してください。 |
15 | stdinFilePath | 可 | ジョブ実行時に使用する標準入力ファイル名を,1~511バイトの文字列で指定します。絶対パスまたは相対パスで指定します。 相対パスで指定した場合,workPathで指定されたジョブ実行時の作業用パスからの相対パスとなります。 指定する標準入力ファイルは,ジョブを実行するエージェントホストに作成しておく必要があります。 標準入力ファイルを使用しない場合は,nullを指定してください。 |
16 | stdoutFilePath | 可 | ジョブ実行時に出力する標準出力ファイル名を,1~511バイトの文字列で指定します。絶対パスまたは相対パスで指定します。 相対パスで指定した場合,workPathで指定されたジョブ実行時の作業用パスからの相対パスとなります。指定する標準出力ファイルは,ジョブを実行するエージェントホストに作成されます。 標準出力ファイルを出力しない場合は,nullを指定してください。 |
17 | stdoutWriteMode※3 | 不可 | 標準出力ファイルに出力するとき,ファイルを上書きするか,または追加書きするかを整数定数で指定します。 指定できる値と内容は,表4-8を参照してください。 stdoutFilePathにnullを指定した場合,この指定は無視されます。 |
18 | stderrFilePath | 可 | ジョブ実行時に出力する標準エラー出力ファイル名を,1~511バイトの文字列で指定します。絶対パスまたは相対パスで指定します。 相対パスで指定した場合,workPathで指定されたジョブ実行時の作業用パスからの相対パスとなります。 指定する標準出力エラーファイルは,ジョブを実行するエージェントホストに作成されます。 標準エラー出力ファイルを出力しない場合は,nullを指定してください。 |
19 | stderrWriteMode※3 | 不可 | 標準エラー出力ファイルに出力するとき,ファイルを上書きするか,または追加書きするかを整数定数で指定します。 指定できる値と内容は,表4-8を参照してください。stderrFilePathにnullを指定した場合,この指定は無視されます。 |
20 | envFilePath | 可 | ジョブ実行時に使用する環境変数ファイル名を,1~511バイトの文字列で指定します。絶対パスまたは相対パスで指定します。 相対パスで指定した場合,workPathで指定されたジョブ実行時の作業用パスからの相対パスとなります。 指定する環境変数ファイルは,ジョブを実行するエージェントホストに作成しておく必要があります。 環境変数ファイルを使用しない場合は,nullを指定してください。 |
表4-6 実行優先順位の指定値と意味
実行優先順位の 指定値 | Windowsでの実行優先順位 | UNIXでの実行優先順位 |
---|---|---|
1 | 対話処理と比較して低い | nice値+20 |
2 | nice値+10 | |
3 | 対話処理と同等 | nice値 |
4 | 対話処理と比較して高い | nice値-10 |
5 | nice値-20 |
表4-7 定数一覧(ジョブ回復モード)
型 | 定数名 | 説明 |
---|---|---|
int | STATUS_WAITING | ジョブを実行待ち状態にします。 |
int | STATUS_HOLDING | ジョブを保留状態にします。 |
int | STATUS_TERMINATE | ジョブを強制終了します。 |
表4-8 定数一覧(標準出力ファイルおよび標準エラー出力ファイルの出力モード)
型 | 定数 | 説明 |
---|---|---|
int | MODE_APPEND | 標準出力ファイルまたは標準エラー出力へ追加モードで出力します。 |
int | MODE_TRUNC | 標準出力ファイルまたは標準エラー出力へ上書きモードで出力します。 |
(2) subJobEntryメソッド
public synchronized void subJobEntry()
(3) subJobGetメソッド
public AjsWsSubjobInfo subJobGet()
(4) subJobKillメソッド
public void subJobKill()
(5) ジョブ制御クラスの実装例
ジョブ制御クラスの実装例を次に示します。
(6) ジョブ制御クラスの注意事項
(7) ジョブ制御クラスで,標準入力データ・標準出力データ・標準エラー出力データを指定する場合の注意事項
(8) ジョブ制御クラスで,環境変数ファイルを指定する場合の注意事項