ジョブの実行 (OP)

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

順番待ち状況

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

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

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

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

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

ジョブスケジューラの BSE サービスで開始されたジョブは、別々の bshell で実行されます。この bshell は、該当するジョブの会社で、そのジョブを作成した LN ユーザの設定を使用して実行されます。

ジョブデーモン

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

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

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

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

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

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

フリー状況

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ジョブの状況

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

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

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

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

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

 

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

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