Hitachi

uCosminexus Service Coordinator Interactive Workflow BPMN連携機能 使用の手引


1.8.6 実行間隔とポーリング間隔

アプリケーション呼び出しサービスが処理を実行する契機は,実行間隔とポーリング間隔によって決まります。

実行間隔は,ref識別子ごとに設定する間隔で,呼び出す必要がある作業があるかどうかを検索する間隔です。

ポーリング間隔は,アプリケーション呼び出しサービスごとに設定する間隔で,呼び出す必要があるref識別子があるかどうかを検索する間隔です。

次の図で,実行間隔とポーリング間隔について説明します。

図1‒101 実行間隔とポーリング間隔

[図データ]

[説明]

アプリケーション呼び出しサービスは,呼び出す必要があるref識別子を見つけるために,ポーリング間隔ごとにアプリケーション呼び出し制御情報テーブルを検索します(図中の(1))。アプリケーション呼び出し制御情報テーブルには,前回呼び出し処理を行った時間(ロック取得時間)が格納されています。図の例では,Ref1は2016/12/10 10:30:25に,Ref2は2016/12/10 10:32:50に前回の呼び出し処理を行っています。

さらに,アプリケーション呼び出しサービスは,Ref1およびRef2が実行間隔を過ぎているかどうかを判定します(図中の(2))。図の例では,Ref1の実行間隔が300秒,Ref2の実行間隔が600秒に設定されています。ロック取得時間に対して,設定されている実行間隔を現在時刻が過ぎているRef1が呼び出し処理の対象となります(図中の(3))。

アプリケーション呼び出しサービスは,呼び出し処理の対象となったRef1を作業者IDに持ち,状態が「実行開始可能(ready)」の作業に対して,呼び出し処理を行います。

実行間隔は,ref識別子単位で設定できます。アプリケーション呼び出し制御情報の「実行間隔(ExecuteInterval)」に設定してください。アプリケーション呼び出し制御情報の詳細については,マニュアルuCosminexus Service Coordinator Interactive Workflow コマンドの「ciwmngap(アプリケーション呼び出し制御情報の管理)」を参照してください。

ポーリング間隔は,J2EEサーバ単位で設定できます。共通設定ファイルの「AppCallServicePollingInterval」に設定してください。AppCallServicePollingIntervalの詳細については,「15.2.5 共通設定ファイルに指定する内容」の「(4) AppCallServicePollingInterval」を参照してください。

ヒント

アプリケーション呼び出しサービスが実際に作業を呼び出す間隔は,実行間隔の設定値から最大でポーリング間隔分のずれが発生します。ポーリング間隔を小さくするほど,実行間隔の設定値と実際に作業を呼び出す間隔とのずれは小さくなりますが,その分アプリケーション呼び出し制御情報テーブルの検索実行回数が多くなります。実行間隔とポーリング間隔のずれを次の図に示します。

図の例では,ポーリング間隔60秒ごとに,アプリケーション呼び出しサービスがアプリケーション呼び出し制御情報テーブルを検索しています。まず,1回目のポーリング間隔の途中の時刻にRef1を呼び出します。そのあと,ポーリングを繰り返し,6回目のポーリング間隔の最初にRef1の実行間隔経過を判定します。しかし,判定のタイミングでは,1回目のポーリング間隔でのRef1の呼び出しから300秒が経過していません。よって,次のRef1の呼び出し処理は7回目のポーリング間隔の間に行われるため,実行間隔の設定値である300秒とのずれが発生します。

図1‒102 実行間隔とポーリング間隔のずれ

[図データ]