Interstage Job Workload Server セットアップガイド
目次 前ページ次ページ

第2章 業務構成要素の設計> 2.3 バッチサーバ環境の設計> 2.3.2 ジョブの実行環境全体の設計

2.3.2.2 ジョブキューの設計

ジョブの実行環境には、ジョブの投入を受け付けるジョブキューが必ず1つ必要です。
ジョブキューには、以下の属性があります。

また、以下の観点での設計が必要です。

◆ジョブの多重度

ジョブの実行環境内で、同時に実行できる最大ジョブ数を決定します。
ジョブの多重度は、1〜64の範囲で指定できます。ただし、システム内のジョブキューのジョブの多重度の合計が、1〜64の範囲になる必要があります。
ジョブの実行環境の運用時には、本多重度分プロセスを生成して常駐します。
したがって、運用するバッチ業務で実行するジョブ数や、各ジョブの実行時間などの運用性、バッチサーバのハードウェア性能(搭載CPU、CPU数、メモリ量など)、およびサーバ内の負荷/資源を考慮して設計してください。


ジョブの多重度を制限することにより、単位時間あたりに処理を完了することができるジョブ数が減少します。このため、投入するジョブ数がジョブの多重度の制限数にあわせて減少しない場合、ジョブスプールおよびジョブキューに設定されている投入可能ジョブ数の上限値を超えて、ジョブの投入が失敗する可能性があります。ジョブの多重度の制限を行う運用を構築する場合は、以下を考慮して設計してください。

また、マルチジョブコントローラを使用する場合は、1つのジョブキューに、カスケード結合数のジョブの多重度が必要となります。カスケード結合数は、カスケード開始節が指定されたジョブステップと、カスケード終了節が指定されたジョブステップを含む、両者間のジョブステップの数のことです。マルチジョブコントローラを使用する場合は、カスケードジョブを実行するジョブキューのジョブの多重度を、カスケード結合数以上としてください。

投入可能ジョブ数

投入可能ジョブ数とは、対象のジョブキューにキューイングできる、最大のジョブ数です。
投入可能ジョブ数は、0〜99,999 の範囲で指定できます。
本設定数を超えてジョブをキューイングすることはできません。
本設定数は、全ジョブキューを管理する、“ジョブスプールの投入可能ジョブ数”と合わせて設計してください。
バッチ実行基盤の既定の設定では、ジョブキューごとの投入可能ジョブ数の制限はしません。

◆実行経過時間制限値

実行経過時間制限値とは、対象のジョブの実行環境で、1つのジョブの実行に与えられる時間です。
単位は秒です。
実行経過時間制限値は、1〜99,999,999の範囲で指定できます。
この時間を超えて実行したジョブは、キャンセルされ異常終了します。
したがって、業務アプリケーションの無限ループなどの異常によって、1つのプロセスが占有された場合でも、指定時間でジョブを終了することができます。
バッチ実行基盤の既定の設定では、実行経過時間の監視はしません。

◆デフォルトジョブキュー

バッチジョブの投入時には、投入先のジョブキューを指定します。
バッチジョブの投入時に、投入先のジョブキューを指定しなかった場合、デフォルトジョブキューとして設定されたジョブキューに、ジョブが自動的に投入されます。
デフォルトジョブキューは、バッチサーバ内で1つだけ設定できます。
したがって、対象のジョブの実行環境の運用性や、バッチシステム全体の利便性を考慮して、デフォルトジョブキューにするか設計してください。

たとえば、デマンドジョブのように運用者が、コマンドを使用して不定期にバッチジョブの投入を行う時があります。
デマンドジョブ専用のジョブキューを設けた場合、そのジョブキューをデフォルトジョブキューに設定することで、デマンドジョブの投入時に誤ったジョブキューに投入することがなくなります。

◆マルチジョブコントローラを使用する場合

マルチジョブコントローラを使用する場合は、通常のジョブとは別に、マルチジョブコントローラ専用のジョブキューの作成を推奨します。

カスケードジョブは、ジョブの実行時に動作に必要なカスケード結合数分のプロセス数を確保し、ジョブが終了するまで占有します。確保できなかった場合は実行待ちとなります。このため、他のジョブが動作中のジョブキューでは、カスケード結合数分の空きプロセスが確保できない場合は、実行待ちとなります。
したがって、同時実行される可能性のあるカスケードジョブのカスケード結合数の合計が投入するジョブキューのジョブの多重度より小さくなるように設計してください。

以下に、カスケードジョブと1ジョブキューのジョブの多重度との関係詳細を表で示します。

カスケード結合数(m)と
ジョブの多重度(n)の関係

動作中の
プロセス数(p)

カスケード結合数と
空きプロセス数の関係

投入したカスケードジョブの動作

m > n

  • 多重度不足のためエラーになります。

m <= n

0

  • 正常に実行されます。

p(>0)

m > (n−p)

  • 動作中のジョブが終了するまで実行待ちとなります。(*1)
  • 実行待ちの間は後続のジョブも実行待ちとなります。

m <= (n−p)

  • 正常に実行されます。

*1:後続のジョブに実行優先順位が高いジョブが実行された場合は、後続のジョブが優先されて実行されます。

◆C言語アプリケーションとCOBOLアプリケーションが同じジョブキューで動作する場合

以下の場合、C言語のバッチアプリケーションのみが動作する場合においても、COBOLの環境開設が行われます。

したがって、C言語アプリケーションとCOBOLアプリケーションとで動作させるジョブキューを分けることを推奨します。

◆NetCOBOLの小入出力機能でファイルを使用する場合

NetCOBOLの小入出力機能でファイルを使用する場合は、ジョブの実行環境を設計する際にジョブキューとジョブの多重度について考慮が必要です。詳細は、"NetCOBOLの小入出力機能でファイルを使用する場合"を参照してください。


目次 前ページ次ページ

Copyright 2009 FUJITSU LIMITED