ヘッダーをスキップ

Oracle Workflow 管理者ガイド
リリース 2.6.3.5

部品番号 B15820-01
前へ 次へ       目次 索引 用語集
          前へ   次へ           目次   索引   用語集

手順7 バックグラウンドのワークフロー・エンジンの設定

ワークフロー・エンジンは、プロセスを開始して実行すると、必要なアクティビティをすべて完了してから、次の適切なアクティビティに進みます。場合によっては、アクティビティの完了までに大量の処理リソースや時間が必要になることがあります。Oracle Workflowでは、このようなコストの高いアクティビティをバックグラウンド・タスクとして実行する補助エンジンを設定して、ワークフロー・エンジンの負荷を管理できます。 このような場合、コストの高いアクティビティはワークフロー・エンジンによって遅延され、後でバックグラウンド・エンジンによって実行されます。その後、メインのワークフロー・エンジンは、次に使用可能なアクティビティに進むことができますが、これによりプロセスの別の並列する分岐が発生する可能性があります。ワークフロー・プロセスには、「待機」アクティビティを含めることもできます。このアクティビティは、プロセスの続行を延期します。 このタイプの遅延アクティビティも、バックグラウンド・エンジンで実行されます。

また、バックグラウンド・エンジンは、タイムアウトになった通知アクティビティを処理するように設定する必要があります。ワークフロー・エンジンは、応答を必要とする通知アクティビティに到達すると、通知システムをコールして該当する実行者に通知を送信し、実行者が通知アクティビティを完了するまで、通知アクティビティを「NOTIFIED」ステータスに設定します。一方、タイムアウトになったアクティビティを処理するように設定されたバックグラウンド・エンジンは、「NOTIFIED」のアクティビティを定期的にチェックし、指定されたタイムアウト値になっていないかどうかをチェックします。「NOTIFIED」のアクティビティにタイムアウト値があり、現在の日付と時刻がそのタイムアウト値を超えている場合、バックグラウンド・エンジンはそのアクティビティをタイムアウトとしてマークし、ワークフロー・エンジンをコールします。 次に、ワークフロー・エンジンは<Timeout>トランジション・アクティビティを実行して処理を再開します。

バックグラウンド・エンジンには、停止しているプロセスへの対応を設定する必要があります。ステータスがアクティブ(ACTIVE)でも進行できなくなったプロセスは、停止していると識別されます。 たとえば、次の状況ではプロセスが停止することがあります。

バックグラウンド・エンジンは、停止しているプロセスのステータスをERROR:#STUCKに設定し、定義済のエラー・プロセスを実行します。

次の表に、バックグラウンド・エンジン処理で使用される標準キューを示します。

キュー表 キュー名 ペイロード・タイプ 保持時間 説明
WF_DEFERRED_QUEUE_M WF_DEFERRED_QUEUE_M SYSTEM. WF_PAYLOAD_T 0日 標準バックグラウンド遅延キュー
WF_OUTBOUND_QUEUE WF_OUTBOUND_QUEUE SYSTEM. WF_PAYLOAD_T 0日 標準バックグラウンド送信キュー
WF_INBOUND_QUEUE WF_INBOUND_QUEUE SYSTEM. WF_PAYLOAD_T 0日 標準バックグラウンド受信キュー

注意: これらのキューは、Java関数アクティビティ・エージェントでも使用されます。 「Java関数アクティビティ・エージェントの設定」、および『Oracle Workflow APIリファレンス』のWorkflow QUEUE APIに関する項を参照してください。

必要な数だけバックグラウンド・エンジンを定義して起動し、遅延アクティビティおよびタイムアウトになったアクティビティをチェックできます。

バックグラウンド・エンジンは、特定の項目タイプに関連付けられている特定のコスト範囲内のアクティビティを処理するように制限できます。また、バックグラウンド・エンジンは、実行時に適切なアクティビティを完了するまで実行されます。

通常は、バックグラウンド・エンジンを定期的に再起動するスクリプトまたはデータベース・ジョブを使用するか(Oracle Workflowスタンドアロン版の場合)、または定期的に再発行するようにバックグラウンド・プロセス・コンカレント・プログラムのスケジュールを設定して(Oracle Applicationsに組み込まれているWorkflowの場合)、バックグラウンド・エンジンを定期的に実行するように設定する必要があります。

バックグラウンド・エンジンは、タイムアウトになったアクティビティをチェックし、遅延アクティビティを処理し、停止しているプロセスに対応するためにそれぞれ1つ以上必要です。少なくとも、タイムアウト/遅延アクティビティ用に1つ、停止しているプロセス用に1つは設定する必要があります。 ただし、パフォーマンス改善のために、3つのバックグラウンド・エンジンをそれぞれ異なる間隔で実行することをお薦めします。

コンテキスト: この手順を実行する必要があるのは、1度のみです。

バックグラウンド・エンジンの起動」を参照してください。

バックグラウンド・エンジンのスケジューリング」を参照してください。

エンジンのしきい値の設定」を参照してください。

『Oracle Workflow開発者ガイド』のアクティビティ・コストに関する項を参照してください。

『Oracle Workflow開発者ガイド』のタイムアウト・トランジションに関する項を参照してください。

アクティビティの遅延」を参照してください。

『Oracle Workflow開発者ガイド』の待機アクティビティに関する項を参照してください。


          前へ   次へ           目次   索引   用語集



Oracleロゴ
Copyright © 2003, 2004, Oracle. All rights reserved.