ジョブの実行

ジョブは、複数の方法で開始できます。ジョブの状況によって、ジョブを開始できる方法が決まります。ジョブの状況が順番待ちまたはフリーの場合にジョブを開始できます。

順番待ち状況

ジョブの状況が 「順番待ち」 の場合は、ジョブスケジューラの BSE サービスを使用して、そのジョブを開始できます。ジョブを有効にする前に、ジョブスケジューラの BSE サービスが実行されていることを確認する必要があります。

「順番待ち」 状況のジョブは、スケジュール済ジョブ (ttaad5120m000) セッションを使用して監視できます。このセッションには、すべての会社のすべてのスケジュール済ジョブの概要が表示されます。表示される情報は以下のとおりです。

  • 会社: ジョブが作成された会社
  • ジョブコード
  • ユーザ: ジョブの所有者
  • 次の実行日: ジョブが開始される日時が表示されます。
  • 状況: 以下の状況が考えられます。
    • 待機中
    • 起動中
    • 実行中
    • 起動失敗

      「起動失敗」 状況のジョブの場合は、エラーが記録されます。この後で、ジョブの開始が再試行されます。

  • ホスト名: ジョブが実行されているサーバの名前
  • Bshell ID: ジョブを開始する bshell の Process ID (ジョブが実行されている場合)

ジョブスケジューラの BSE サービスで開始されたジョブは、別々の bshell で実行されます。この bshell は、該当するジョブの会社で、そのジョブを作成した LN ユーザの設定を使用して実行されます。BSE サービスの詳細については、第 XXX 章を参照してください。

ジョブデーモン

BSE サービスを使用しない場合は、ジョブデーモンを使用してジョブを開始できます。ジョブを有効にする前に、ジョブデーモンが実行されていることを確認します。

ジョブデーモンの実装は、LN サーバのオペレーティングシステムによって異なります。

  • UNIX サーバ
    ジョブデーモンはシェルプログラム rc.startjobdm で、これは ${BSE]/etc ディレクトリにあります。ジョブデーモンを開始するには、${BSE}/etc/rc.startjobdm コマンドを ${BSE}/etc/rc.start ファイルに含めます。その結果、LN 環境を起動するとジョブデーモンが起動されます。
  • Windows サーバ
    ジョブデーモンは、アプリケーションサービスマネージャ (ASM) を使用して管理できるサービスです。

ジョブデーモンが実行されている場合は、プログラムを使用せずに bshell を終了できます。bshell ではなく、ジョブデーモンによってジョブが実行されます。

複数の会社のジョブを実行するには、会社ごとにジョブデーモンを開始する必要があります。

ジョブ処理手順を参照してください。

フリー状況

ジョブの状況が 「フリー」 の場合は、次の方法でジョブを開始できます。

  • ジョブの起動 (ttaad5203m000) セッションを使用する
  • rc.startjob シェルコマンドを使用する (UNIX プラットフォーム)
  • startjob.bat バッチファイルを使用する (Windows プラットフォーム)
ジョブの起動 (ttaad5203m000)

実行日時の前にジョブを開始した場合は、ジョブの状況が待機中に変わります。ジョブの実行中は、状況が実行中に変わります。ジョブを開始したユーザの bshell でジョブが実行されるため、ユーザはジョブが完了するまで bshell を終了できません。

複数の会社に属するジョブを開始する場合は、メニューブラウザのオプションメニューから会社の変更を使用して、必要な会社に切り替える必要があります。

rc.startjob シェルコマンド (UNIX)

ジョブは UNIX シェルスクリプト ${BSE}/etc/rc.startjob でも開始できます。この場合には、UNIX プロンプトで以下の構文を入力する必要があります。 ${BSE}/etc/rc.startjob [ジョブ名]

UNIX ユーザジョブスケジューラ (crontab) に rc.startjob スクリプトを含めて、ジョブを自動的に開始することができます。そのため、一部の UNIX 変数をシェルスクリプトで定義する必要があります。詳細は、シェルスクリプトを参照してください。

複数の会社のジョブを実行するには、会社ごとに rc.startjob の固有のバージョンを作成する必要があります。

startjob.bat バッチファイルを開始するには (Windows)

LN が Windows サーバで実行している場合は、startjob.bat バッチファイルを使用してジョブを開始することもできます。

ジョブを開始するには、Windows コマンドプロンプトで以下の構文を指定します。startjob.bat [ジョブ名]

このコマンドを指定する前に、fillenv.bat バッチファイルを実行して LN 環境変数を設定する必要があります。

ジョブの実行を自動化するには、スケジューラを使用して startjob.bat を実行します。

複数の会社のジョブを実行するには、会社ごとに startjob.bat の固有のバージョンを作成する必要があります。

ジョブ処理手順を参照してください。

ジョブの状況

ジョブの存続期間中の考えられる状況を以下の表に示します。

状況説明
フリージョブの基本ジョブデータが定義されると、ジョブを開始できます。
実行中ジョブは開始され、実行中の状態です。
待機中

ジョブは開始され、次の実行日時での実行について待機している状態です。

ジョブデーモンはジョブを開始しません。

順番待ちジョブはキューに入っており、ジョブデーモンが実行すると自動的に開始されます。
ブロック中ジョブはブロックされ、開始できません。ジョブを開始するには、「フリー」 または 「順番待ち」 を設定します。
取消ジョブは、ジョブの取消 (ttaad5204m000) セッションで停止されます。ジョブは最大持続時間を超えたときも取り消されます。
ランタイムエラージョブの実行時にエラーが起きたことを示します。

 

たとえば基本ジョブデータを変更したい場合など、必要に応じて、ジョブデーモンが開始したジョブを取り消すことができます。ジョブを取り消すには、ジョブデータ (ttaad5500m000) セッションを使用します。適切なメニューで、ジョブを取消をクリックします。ジョブを取り消した場合は、実行中のジョブの現在のセッションは実行されますが、その後のセッションは開始されません。ジョブの状況が順番待ちから取消に変わります。取り消したジョブを再開するには、ジョブをリリースして、ジョブの状況を順番待ちまたはフリーに変える必要があります。

ジョブを一時的に停止するには、ジョブデータ (ttaad5500m000) セッションを開始します。適切なメニューで、ジョブのロックをクリックします。