3.2. ジョブの実行

3.2.1. ジョブを実行する

前提条件
  1. バッチドメインが起動していること
  2. バッチコンテナが起動していること
  3. 実行対象ジョブが配備されていること
  4. ジョブ実行権が付与されたアカウントであること
実行手順
  1. ${BS_HOME}/bin/配下で、jobctl start(start-job)コマンドを使用してジョブを実行します
    ./jobctl start --user <User> --password <Password> --jobname <JobName>
    ./start-job --user <User> --password <Password> --jobname <JobName>
注意事項

参照

3.2.2. ジョブを再実行する

前提条件
  1. バッチドメインが起動していること
  2. バッチコンテナが起動していること
  3. 実行対象ジョブが配備されていること
  4. ジョブ実行権が付与されたアカウントであること
実行手順

ジョブを再実行するには、${BS_HOME}/bin/jobctl start(start-job)コマンドを使用します。

./jobctl.sh start --user <user> --password <password> --jobname <ジョブ名> --restart --type <リスタートタイプ>

再実行処理は「ジョブ単位リスタート」「ステップ単位リスタート」「チェックポイントリスタート」の方法が存在し、 それぞれ開始箇所が異なります。

ジョブ単位リスタート

失敗したジョブの最初から処理を再実行します。

./jobctl.sh start --user <User> --password <Password> --jobname <JobName> --restart --type JOB
ステップ単位リスタート

失敗したステップの最初のレコードから処理を再実行します。

./jobctl.sh start --user <User> --password <Password> --jobname <JobName> --restart --type STEP
チェックポイントリスタート

失敗したステップの途中のレコードから処理を再実行します。

./jobctl.sh start --user <User> --password <Password> --jobname <JobName> --restart
または、
./jobctl.sh start --user <User> --password <Password> --jobname <JobName> --restart --type CHECKPOINT
注意事項
参照

3.2.3. 実行中のジョブを停止する

前提条件
  1. ジョブが実行中であること
  2. ジョブ実行権が付与されたアカウントであること
実行手順
  1. ${BS_HOME}/bin/配下で、jobctl stop(stop-job)コマンドを使用して実行中のジョブを停止します
    ./jobctl stop --user <User> --password <Password> --jobname <JobName>
    ./stop-job --user <User> --password <Password> --jobname <JobName>
    jobctl stop、あるいはstop-jobで実行中のジョブを停止する場合、停止対象のジョブと同じオプション
参照

3.2.4. ジョブの実行結果を取得する

前提条件
  1. バッチドメインが起動していること
  2. バッチコンテナが起動していること
実行手順
  1. ${BS_HOME}/bin/配下で、jobctl result(result-job)コマンドを使用してジョブの実行結果を取得します
    ./jobctl result --user <User> --password <Password> --jobname <JobName>
    ./result-job --user <User> --password <Password> --jobname <JobName>
参照

3.2.5. ジョブの状態を取得する

前提条件
  1. バッチドメインが起動していること
  2. バッチコンテナが起動していること
実行手順
  1. ${BS_HOME}/bin/配下で、jobctl status(status-job)コマンドを使用してジョブの状態を取得します
    ./jobctl status --user <User> --password <Password> --jobname <JobName>
    ./status-job --user <User> --password <Password> --jobname <JobName>
参照

3.2.6. ジョブ終了時のコマンド戻り値を設定する

前提条件
  1. 全てのジョブ制御コマンドが動作していないこと
実行手順
バッチドメイン単位で設定する場合
  1. テキストエディタを使用して、戻り値定義ファイル(${DOMAIN_HOME}/config/batch/exitcode/mapping.properties) の設定を適宜修正します。 既定値として下記が設定されています。
    webotx.batch.exit.default=255
    webotx.batch.exit.status.COMPLETED=0
    webotx.batch.exit.status.COMPLETED\ WITH\ SKIPS=102
    webotx.batch.exit.status.STOPPED=106
    webotx.batch.exit.status.FAILED.FAILED=107
    webotx.batch.exit.status.FAILED=1
    webotx.batch.exit.status.NOOP=108
    webotx.batch.exit.status.UNKNOWN=109
    
コマンド実行単位で設定する場合
  1. あらかじめ、コマンド実行用の戻り値定義ファイルを準備します。
    書式はmapping.propertiesと同様です。
  2. 下記のようにコマンドの引数に1. で作成した戻り値定義ファイルへのパスを指定し実行します。
    ./jobctl.sh start --jobname <ジョブ名> --exitcodemapping <戻り値定義ファイルのパス> その他オプション

コマンド実行単位に指定した戻り値定義は、バッチドメイン単位で設定されている戻り値定義よりも優先されます。

参照

3.2.7. ジョブ実行ログのログレベルを変更する

前提条件
  1. バッチドメインが正常に起動していること
実行手順
運用管理コマンド(otxadmin)を利用する場合
  1. otxadmin setコマンドを使用して、ジョブ実行リソースコンテキスト の ジョブ実行ログレベル を変更します。
統合運用管理ツールを利用する場合
注意事項
参照

3.2.8. ジョブ実行ログに任意のメッセージを出力する

バッチアプリケーションから、ジョブ実行ログへ出力するには、以下の方法があります。

方法 説明 備考
ジョブ実行ログ出力部品 バッチアプリケーション内に、ジョブ実行ログ出力部品(BSJobExecutionLogUtil)を組み入れます。
BSJobExecutionLogUtil を使用して、commons-loggingのLogオブジェクトを取得し、任意のレベルのメッセージを出力します。
ジョブ実行ログ出力部品 を使用したメッセージのロガー名は、BSJobExecutionLogging で固定
log4j jobExecLogProxy Appender バッチコンテナ用log4j設定ファイルに、任意のLoggerの定義を追加し、appender-ref属性に jobExecLogProxy を指定します jobExecLogProxy Appenderを介したメッセージのロガー名は、com.nec.webotx.batch.core.execution.log4j.<オリジナルロガー名> になります。
ジョブ実行ログの既定のレイアウトパターンは、%c{1}(=最下位のカテゴリ名のみ出力)となっており、出力されるメッセージのレイアウトには影響しません。
simpleProxy Appender バッチコンテナ用log4j設定ファイルに、任意のLoggerの定義を追加し、appender-ref属性に simpleProxy(またはbsProxy) を指定します。
合わせて、バッチコンテナ用log4otx設定ファイル(${DOMAIN_HOME}/config/batch/logging/log4otx.xml)に、バッチコンテナ用log4j設定ファイルに追加したロガー名と同一名のLoggerの定義を追加し、appender-ref属性に executionLog を指定します。
ジョブ実行ログのレイアウトパターンに%cを指定(=全てのカテゴリ名)する等、オリジナルのロガー名を利用する必要がある場合に、本方式を採用します。

ジョブ実行ログ出力部品 の使用方法については、機能ガイド、および、APIリファレンスを参照してください。
以下、log4jを使用して、ジョブ実行ログへ出力する2つの方法について説明します。

前提条件
  1. バッチコンテナが停止していること
  2. ユーザアプリケーションが停止していること
  3. ログ実装にlog4Jを利用している、または、利用できること
実行手順
jobExecLogProxy を利用する
  1. テキストエディタを使用して、log4j.xmlに、任意のLoggerの定義を追加し、appender-ref属性に jobExecLogProxy を指定します。
  2. バッチコンテナを起動します
simpleProxy を利用する
  1. テキストエディタを使用して、log4j.xmlに、任意のLoggerの定義を追加し、appender-ref属性に simpleProxy(またはbsProxy) を指定します。
  2. 合わせて、log4otx.xmlに、log4j.xmlに追加したロガー名と同一名のLoggerの定義を追加し、appender-ref属性に executionLog を指定します。
  3. バッチコンテナを起動します
注意事項
参照