start-job

概要

ジョブを開始します。
ジョブを開始させるために必ずジョブ名(--jobname)を指定します。
バッチアプリケーション名(--batchap)が指定されない場合、既定値の default が暗黙的に指定されます。
バッチアプリケーショングループ名(--batchapgroup)が指定されない場合、既定値の default が暗黙的に指定されます。

ジョブ再実行(--restart指定)時には、アカウント名、ジョブ名、ジョブパラメータから、ジョブ再実行の際にやり直す必要がある前回のジョブ実行を特定します。
ジョブの実行を特定する為に使用するジョブパラメータには、--parametersfileオプションで指定したファイルに含まれる全てのプロパティ、コマンド引数のjobParameters、および、--reqidオプションの値が含まれます。
ジョブを再実行する(--restartを指定する)際は、ジョブ実行を開始した際と同一のジョブパラメータを指定してください。
ジョブの開始(start)時に--reqidオプションを指定している場合は、ジョブの再実行時にも--reqidを指定して再実行を行ってください。
また、ジョブ再実行時にはジョブを再開する方法(--type)を選択することができます。

パス

${BS_HOME}/bin

権限

本コマンドを実行するには、アカウントに以下のいずれかのロールが必要です。

書式
start-job <接続オプション> <コマンドオプション>
接続オプション

WebOTX Batch Serverのコマンドは、バッチドメインエージェントを経由して各バッチコンテナへ指示を行います。
そのため、WebOTX Batch Serverが提供する主なコマンドはバッチドメインエージェントへの接続オプションの指定が必要です。

{--user <user> --password <password> [--host <host>] [--port <port> [--responseTimeout <responseTimeout>]
 [--responseRetry <responseRetry>]}
接続オプション
オプション名 説明
--user <user> バッチドメインエージェントに接続するアカウント名を指定します。
バッチドメインエージェントが稼働しているサーバ上のOSユーザのアカウント名を指定します。
--password <password> アカウントのパスワードを指定します。
バッチドメインエージェントが稼働しているサーバ上のOSユーザのパスワードを指定します。
--host <host> 接続先のバッチドメインエージェントのIPアドレス、または、ホスト名を指定します。
ドメインセットアップ時に ${BS_HOME}/<domainName>.properties 中の domain.admin.host に指定したIPアドレス、または、ホスト名を指定します。
オプション未指定時に使用される既定値はlocalhostです。
--port <port> 接続先のバッチドメインエージェントのNativeコマンド受信用ポート番号(既定値:6412)を指定します。
ドメインセットアップ時に ${BS_HOME}/<domainName>.properties 中の webotx.batch.domain.http.port に指定したポート番号を指定します。
オプション未指定時に使用される既定値は6412です。
--responseTimeut <responseTimeut> コマンドを実行した後、バッチドメインエージェント側から実行結果を受信するまでの最大待ち時間(タイムアウト値)を指定します。
既定値は180秒です。
1以上の整数値を指定することができ、単位は秒になります。
--responseRetry <responseRetry> タイムアウト時に処理をリトライする上限回数を指定します。既定値は-1(無制限にリトライ実行)となります。
-1、または0以上の整数値を指定することができ、単位はリトライ回数になります。
コマンドオプション
{--jobname <jobname> [--alerttime <alerttime>] [--priority <priority>] [--batchap <batchap>] [--batchapgroup <batchapgroup>]
 [--reqid <reqid>] [--exitcodemapping <exitcodeMappingFile>] [--silent]
 [--parametersfile <parametersFile>] [jobParameters]
 [--serverResponseTimeoutRatio <serverResponseTimeoutRatio>] | --version | --help}
{--restart [--type {JOB | STEP | CHECKPOINT}]
 --jobname <jobname> [--alerttime <alerttime>] [--priority <priority>] [--batchap <batchap>] [--batchapgroup <batchapgroup>]
 [--reqid <reqid>] [--exitcodemapping <exitcodeMappingFile>] [--silent]
 [--parametersfile <parametersFile>] [jobParameters]
 [--serverResponseTimeoutRatio <serverResponseTimeoutRatio>] | --version | --help}
コマンドオプション一覧
オプション名 説明
--jobname <jobName> ジョブ名を指定します。
--priority <priority> 複数のジョブがキューにある場合に、実行するジョブを決める際の優先度を指定するオプションです。
1から5の数値で指定し、1が最も高く、5が最も低い優先度となります。
--alerttime <alerttime> ジョブが終了しない場合の警告時間を指定します。WebOTX Batch Serverではジョブの実行状態を監視し、このオプションによって指定された時間までにジョブの実行が完了しない場合に、OSのログに警告メッセージを出力します。
時間の指定は以下のように時刻形式と時間形式で行えます。
  • 時刻形式での指定
  • --alertitme yyyy-mm-ddThh:mm:ss
    yyyy : 西暦
    mm   : 月
    dd   : 日
    hh   : 時間(0 - 23)
    mm   : 分(0 - 59)
    ss   : 秒(0 - 59)								
    				
    				
    (例)2011/4/1の12:30:00を指定する場合
    --alerttime 2011-04-01T12:30:00
    				

  • 時間形式での指定
  • --alerttime <値>{h|m|s}
    h : 時間
    m : 分
    s : 秒
    
    
    (例)1.5時間を指定する場合
    --alerttime 90m
    				

--batchap <batchapName> バッチアプリケーション名を指定します。
指定を省略した場合は、既定値のバッチアプリケーション名 default が指定されます。
--batchapgroup <batchapGroupName> バッチアプリケーショングループ名を指定します。
指定を省略した場合は、既定値のバッチアプリケーショングループ名 default が指定されます。
--reqid <reqId> ジョブのリクエストIDを指定します。
リクエストIDには一意な値を指定する必要があります。
異なるジョブの実行において、同一のリクエストIDを指定すると、reqidのみの指定によるstatusコマンドやresultコマンドが利用できません。
--exitcodemapping <filePath> 戻り値定義ファイル名を含むファイルの絶対パスを指定します。
このオプションを指定した場合は、指定された戻り値定義ファイルの設定を利用して、コマンドの戻り値を決定します。
このオプションを指定しない場合は、${DOMAIN_HOME}/config/batch/exitcode/mapping.properties の設定に基づき、コマンドの戻り値を決定します。
--silent ジョブ実行ログを標準出力に表示しません。
--restart 前回実行時に異常終了したジョブの再実行を指示します
--type JOB | STEP | CHECKPOINT ジョブの再開ポイントを指定します。
JOB:ジョブの初めから処理をやり直します。
STEP:中断したステップの初めから処理をやり直します。
CHECKPOINT:チェックポイントから処理をやり直します。
再実行時に本オプションを省略した場合、CHECKPOINT指定での再実行を行います。
--parametersFile <filePath> ジョブパラメータファイル名を含むファイルの絶対パスを指定します。
ジョブパラメータファイルとは、ジョブのパラメータをkey=valueのプロパティファイル形式で記述したファイルです。
同一ファイル内に重複するkeyが指定された場合、後の行に記載されている値が優先されます。
<jobParameters>と重複するkeyがプロパティファイル内で指定された場合、<jobParameters>で指定された値が優先されます。
<jobParameters> ジョブパラメータをkey=valudeのプロパティ形式をコマンド引数として指定します。複数のパラメータを指定する場合、 (半角空白)区切りで指定します。
<jobParameters>内で重複するkeyが指定された場合、初めに記載された値が優先されます。
--parametersFileに指定したジョブパラメータファイルに含まれるkeyと重複するkeyが指定された場合、<jobParameters>で指定された値が優先されます。
再実行時に指定したパラメータは前回実行時に指定したパラメータに追加・上書きされます。
--serverResponseTimeoutRatio
     <serverResponseTimeoutRatio>
responseTimeoutで指定したコマンド実行側のタイムアウト値に対するバッチドメインエージェント側の最大待ち時間(タイムアウト値)の割合(%)を指定します。
既定値は10(%)です。
1以上の整数値を指定することができ、単位はパーセント(%)になります。
例えば、接続オプションである--responseTimeoutの値を240(秒)として、
--serverResponseTimeoutRatioで指定した値を20(%)とした場合、
バッチドメインエージェント側のタイムアウト値は240秒の20(%)である48秒となります。
--version コマンドのバージョンを表示します。
--help コマンドのヘルプを表示します。
restartオプションに関する補足

再実行処理では、コマンドで指定したパラメータ情報を基に前回実行したジョブの情報を取得し、前回の実行状態(Status)を確認し、正常な停止状態であると判断した場合のみ再実行処理を行います。ジョブの開始コマンドは、--restartオプションの有無により下記のような動作となります。

restartオプションの指定有無と動作
--restart指定 実行対象ジョブの前回実行状態 処理
あり 未実行 ジョブの先頭から処理を開始
処理中 実行中メッセージを出力し、処理を行わず終了
再実行可能状態で処理が停止状態 typeオプションによるリスタート処理
再実行不可状態で処理が停止状態 リスタート可能な実行状態でない旨のメッセージを出力し、処理を行わず終了
処理が完了 実行済みメッセージを出力し、処理を行わず終了
なし 未実行 ジョブの先頭から処理を開始(通常のジョブ実行処理)
処理中 実行中メッセージを出力し、処理を行わず終了
再実行可能状態で処理が停止状態 チェックポイントから処理を再実行
再実行不可状態で処理が停止状態 リスタート可能な実行状態でない旨のメッセージを出力し、処理を行わず終了
処理が完了 実行済みメッセージを出力し、処理を行わず終了
戻り値

下表の戻り値は、jobctlコマンドのstart , result、および、start-jobコマンド、result-jobコマンド特有の戻り値です。これらのコマンドの戻り値は、ExitStatus との対応関係によって決まります。これらの戻り値は、戻り値定義ファイル の設定により変更可能です。
戻り値 と ExitStatus との対応関係については、ExitCodeMapping機能 を参照してください。

コマンド共通の戻り値は、ExitCodeマッピング機能では変更できません。

戻り値一覧
戻り値 ExitStatus(BatchStatus) 説明
0 COMPLETED ジョブが正常に終了した
1 FAILED(FAILED以外) その他エラー
102 COMPLETED_WITH_SKIPS ジョブが正常に終了したが、一部処理をスキップ
106 STOPPED 停止
107 FAILED(FAILED) 異常終了
108 NOOP 停止 (何も処理を実行していない)
109 UNKNOWN 不明な状態 (内部状態の保存に失敗等)
200 - ジョブリクエストキューイングエラー
キューがあふれたためジョブリクエストの投入に失敗
201 - 指定したジョブがデプロイされていない
202 - 指定したジョブが実行されていない(JobRepositoryが初期化された場合を含む)
210 - ジョブの開始エラー
指定したジョブのコンテナ上での開始に失敗
211 - ジョブの開始要求が取り消された
230 - 指定したコンテナが存在していない
231 - 利用可能なコンテナが存在していない
240 - コマンドとバッチドメインエージェントとの通信でエラー
241 - バッチドメインエージェントとコンテナ間での通信エラー
242 - JobRepositoryからの状態取得エラー
243 - 環境上の問題(設定ミス等)によるエラー
244 - 認証エラー
指定したアカウントの認証に失敗
245 - 権限エラー
指定したアカウントに当該操作を行う権限が割り当てられていない
250 - コマンドエラー (コマンド解析エラー)
255 - 異常終了。コマンド実行エラー
実行例
例1:jobParameters, reqidを指定してジョブを開始します。
[root@localhost bin]# ./start-job --user user --password pass --batchapgroup default1 --batchap default1 --jobname hello --reqid 15 jobParam1=value1 jobParam2=value2

 INFO - Command start processing (start-job)
 INFO - start job request.
 INFO - end job request.
 INFO - waiting to job is started.
 INFO - Job process is started. DomainName = batchDomain1, ContainerName = container1-1, JobInstanceId = 24, JobExecutionId = 24

 INFO - Start Job Execution Log :-

<ジョブ実行時のログが表示されます>

 INFO - Command is done. (start-job)
Exit Code = 0
関連