stop-job

概要

ジョブを停止します。
ジョブを停止させる場合は、トランザクショナル停止モードと、強制停止モードを指定することができます。
トランザクショナル停止モードとは、実行中の処理をコミット(またはロールバック)したタイミングでジョブを停止させます。
一方、強制停止モードの場合は、仕掛かり中のトランザクションの状態によらず処理を中断し、トランザクションはロールバックしてジョブを停止させます。
ジョブ開始コマンドにリクエストID(--reqid)を指定している場合は、リクエストID指定でジョブを停止させることができます。
リクエストIDを利用しない場合は、ジョブ開始コマンド同様、ジョブ名とジョブパラメータの組合せによって停止させるジョブの実行を特定します。

パス

${BS_HOME}/bin

権限

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

書式
stop-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以上の整数値を指定することができ、単位はリトライ回数になります。
コマンドオプション
{[--transactional | --force] [--timeout <timeout>]
 --jobname <jobname> [--batchap <batchap>] [--batchapgroup <batchapgroup>]
 [--reqid <reqid>]
 [--parameterfile <parameterFile>] [jobParameters]
 [--serverResponseTimeoutRatio <serverResponseTimeoutRatio>] | --version | --help}
{[--transactional | --force] [--timeout <timeout>] [--serverResponseTimeoutRatio <serverResponseTimeoutRatio>]
 --reqid <reqid> | --version | --help}
コマンドオプション一覧
オプション名 説明
--jobname <jobName> ジョブ名を指定します。
--batchap <batchapName> バッチアプリケーション名を指定します。
指定を省略した場合は、既定値のバッチアプリケーション名 default が指定されます。
--batchapgroup <batchapGroupName> バッチアプリケーショングループ名を指定します。
指定を省略した場合は、既定値のバッチアプリケーショングループ名 default が指定されます。
--reqid <reqId> ジョブのリクエストIDを指定します。
リクエストIDには一意な値を指定する必要があります。
異なるジョブの実行において、同一のリクエストIDを指定すると異常終了します。
--transactional トランザクショナル停止モードを指定します。(デフォルト)
--force 強制停止モードを指定します。強制停止モードが有効になるためには、強制停止しようとするジョブのジョブ定義に強制停止リスナ(BSForceStopListenerまたはBSForceStopDetectionListener)が組み込まれている必要があります。 強制停止リスナを介した強制停止要求チェックのタイミング以外では、停止されません。
--timeout 停止タイムアウト秒 を指定します。
既定値は、 0 (無限)です。
--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 コマンドのヘルプを表示します。
戻り値
コマンド共通戻り値一覧
戻り値 説明
0 正常終了
200 ジョブリクエストキューイングエラー
キューがあふれたためジョブリクエストの投入に失敗
201 指定したジョブがデプロイされていない
202 指定したジョブが実行されていない(JobRepositoryが初期化された場合を含む)
210 ジョブの開始エラー
指定したジョブのコンテナ上での開始に失敗
211 ジョブの開始要求が取り消された
230 指定したコンテナが存在していない
231 利用可能なコンテナが存在していない
240 コマンドとバッチドメインエージェントとの通信でエラー
241 バッチドメインエージェントとコンテナ間での通信エラー
242 JobRepositoryからの状態取得エラー
243 環境上の問題(設定ミス等)によるエラー
244 認証エラー
指定したアカウントの認証に失敗
245 権限エラー
指定したアカウントに当該操作を行う権限が割り当てられていない
250 コマンドエラー (コマンド解析エラー)
255 異常終了。コマンド実行エラー
実行例
例1:ジョブ名を指定してジョブを停止します。

<停止処理の実行画面>
[root@localhost bin]# ./stop-job --user user --password pass --batchapgroup default --batchap default --jobname hello --reqid 15 jobParam1=value1 jobParam2=value2 --transactional

 INFO - Command start processing (stop-job)
 INFO - Command is done. (stop-job)
ExitCode = 0
<停止処理が行われたジョブの実行画面>
[root@localhost bin]# ./jobctl.sh start --user user --password pass  --batchapgroup default --batchap default --jobname hello --reqid 15 jobParam1=value1 jobParam2=value2

2010/03/15 18:42:09 026  INFO  main AbstractJobControlCommand - [BS240341001] コマンドの処理を開始します。
2010/03/15 18:42:09 239  INFO  main StartJobCommand - [BS240341002] ジョブの開始を要求しています。
2010/03/15 18:42:09 314  INFO  main StartJobCommand - [BS240341004] ジョブが開始されるのを待機します。
2010/03/15 18:42:09 789  INFO  main StartJobCommand - [BS240341005] ジョブが開始されたことを検知しました。
2010/03/15 18:42:09 790  INFO  main StartJobCommand - [BS240341006] DomainName = batchDomain1, ContainerName = container1-1, JobInstanceId = 26, JobExecutionId = 26
2010/03/15 18:42:09 790  INFO  main StartJobCommand - [BS240341008] ジョブ実行ログを表示します :-

  〜snip〜

2010/03/16 14:38:12 960 ERROR WorkManager-2 ThreadStepInterruptionPolicy - Step interrupted
2010/03/16 14:38:12 961 ERROR WorkManager-2 AbstractStep - Encountered an error executing the step
org.springframework.batch.core.JobInterruptedException: Job interrupted status detected.
        at org.springframework.batch.core.step.ThreadStepInterruptionPolicy.checkInterrupted(ThreadStepInterruptionPolicy.java:44)

  〜snip〜

2010/03/16 14:38:13 173  INFO  main StartJobCommand - [BS240341009] ジョブが終了しました。 status = STOPPED :-

com.nec.webotx.batch.core.execution.RuntimeJobStatus$UserException : original Exception is org.springframework.batch.core.JobInterruptedException : Job interrupted by step execution
original stack trace is :-
Exit Code = 106
関連