15.3.4 バックグラウンド・ページ処理の理解
バックグラウンド・ページ処理を使用すると、開発者は、フォアグラウンドまたはバックグラウンドで実行できる一連のページ・プロセスを実行できます。
- バックグラウンド・ページ・プロセスについて
バックグラウンド・ページ・プロセスについて学習します。 - バックグラウンド・ページ・プロセスの作成
「実行チェーン」プロセス・タイプを使用してバックグラウンド・ページ・プロセスを作成します。プロセス・タイプには、順番に実行される子プロセスが含まれます。実行チェーンはバックグラウンドまたはフォアグラウンドで実行できます。 - 現在実行中のバックグラウンド・プロセスの監視
ランタイム開発者ツールバーの「セッション」をクリックして、バックグラウンド・プロセスを監視します。
親トピック: ページ・プロセスの理解
15.3.4.1 バックグラウンド・ページ・プロセスの理解
バックグラウンド・ページ・プロセスについて学習します。
実行チェーン・プロセス・タイプを使用すると、ページ処理をバックグラウンドで実行できるため、ユーザーは処理が終了するまで待機する必要がありません。一般的なユースケースは、データ・ロードやコストの高いデータ処理などの長時間実行操作です。実行チェーン・プロセス・タイプには、実際の処理を行う1つまたは複数の子プロセスを含めることができ、1つずつ実行されます。実行チェーンは、バックグラウンドまたはフォアグラウンドで実行できます。
バックグラウンド・ページ・プロセスの作成には、次の一般的なステップが含まれます。
- ページ・デザイナで、実行チェーン・ページ・プロセスを作成します。
- 実行チェーン・プロセスに、実際の処理を実行する子プロセス(PL/SQLコードの実行、データのロードなど)を追加します。
- 実行チェーン属性を編集し、「バックグラウンドで実行」スイッチを有効にします。
ヒント:
APEX_BACKGROUND_PROCESS
APIを使用して、バックグラウンド・プロセスをプログラムで監視できます。Oracle APEX APIリファレンスのAPEX_BACKGROUND_PROCESSを参照してくださいバックグラウンド・プロセスを使用したアプリケーションの再インポートについて
バックグラウンド・プロセスを使用したアプリケーションの再インポートは、標準のアプリケーション・エクスポートと比較して、ワークフローが若干異なります。インポート中に、既存のバックグラウンド・プロセスの処理方法を確認するプロンプトが表示されます。バックグラウンド・プロセスを含むアプリケーションの再インポートを参照してください。
同時実行スケジューラ・ジョブの制限の構成
バックグラウンド・ページ処理は、実際にはデータベース・スケジューラ(DBMS_SCHEDULER
)によって実行されます。つまり、バックグラウンド・ページ処理ジョブを実行するには、アプリケーションの解析スキーマにCREATE JOB
権限が付与されている必要があります。
バックグラウンド・ページ処理ジョブを同時に実行するための制限は、次のように構成できます。新しいバックグラウンド実行が構成された制限を超える場合は、実行中の実行のいずれかが終了し、スロットが使用可能になるまでキューに入れられた状態で待機します。
-
インスタンス・レベル(デフォルト)。「インスタンスの設定」で「バックグラウンド・ジョブ」属性を構成します。インスタンス・レベルの設定は、すべてのワークスペースのデフォルトとして機能し、ワークスペース・レベルでオーバーライドできます。
Oracle APEX管理ガイドのバックグラウンド・ジョブの構成を参照してください
-
ワークスペース・レベル。「ワークスペースの分離」の「バックグラウンド・ページ・プロセス・ジョブの最大数」属性を編集します。ワークスペース制限は、そのワークスペース内のすべてのアプリケーションの最大として機能します。
Oracle APEX管理ガイドのワークスペース分離属性の構成を参照してください
-
アプリケーション・レベル「アプリケーション定義」、「最大バックグラウンド・ページ・プロセス・ジョブ」属性を編集します。この制限は、このアプリケーションに固有です。この設定を使用して、ワークスペース制限をそのワークスペースのアプリケーション間で分散します。ワークスペース制限より大きい値を構成した場合、この制限は無視され、かわりにワークスペース制限が使用されます。
アプリケーション・レベル「アプリケーション定義」、「最大バックグラウンド・ページ・プロセス・ジョブ」属性を編集します。プロパティを参照してください。
親トピック: バックグラウンド・ページ処理の理解
15.3.4.2 「バックグラウンド・ページ・プロセスの作成」ページ・プロセス
実行チェーン・プロセス・タイプを使用してバックグラウンド・ページ・プロセスを作成します。このプロセス・タイプには、順番に実行される子プロセスが含まれています。実行チェーンはバックグラウンドまたはフォアグラウンドで実行できます。
「実行チェーン」プロセス・タイプを使用してバックグラウンド・ページ・プロセスを作成するには:
- ページ・デザイナでページを表示します。
「実行チェーンの作成」ページ・プロセス:
- 「プロセス」タブで、プロセスが発生するノードを探します。右クリックして、「プロセスの作成」を選択します。
プロパティ・エディタで、実行チェーン・プロセスを構成します。
- 「識別」で、次のステップを実行します。
- 識別、名前 - 開発者が容易に識別できるプロセスの名前を入力します。
- 識別、タイプ - 「実行チェーン」を選択します。
- 識別、実行チェーン - この属性は、ネストされた実行チェーンのサポートを有効にします。この属性を使用して、別の実行チェーンをこのチェーンの親として定義します。この例では、「なし」を選択します。
- 「設定」で、次のようにします。
- 「実行」で、次の操作を実行します:
- 「成功メッセージ」で、次のステップを実行します。
- 成功メッセージ、成功メッセージ - このプロセスの成功メッセージを入力します。
プロセスが実行され、エラーが発生しない場合は、表示される結果のページの通知セクションに、このプロセス成功メッセージが表示されます。URLリダイレクトを使用して別のページにブランチする場合は、成功メッセージの保存属性を選択する必要があります。
さらに学習するには、プロパティ・エディタで属性を選択し、中央ペインで「ヘルプ」タブをクリックして参照してください。
- 成功メッセージ、成功メッセージ - このプロセスの成功メッセージを入力します。
- 「エラー」で、次のステップを実行します:
- 「保存」をクリックします。
1つ以上の子プロセスを作成します。
- 子プロセスの作成:
- 前のステップを繰り返して、追加の子プロセスを作成します。
親トピック: バックグラウンド・ページ処理の理解
15.3.4.3 現在実行中のバックグラウンド・プロセスの監視
バックグラウンド・プロセスを監視するには、ランタイム開発者ツールバーの「セッション」をクリックします。
ヒント:
ワークスペース管理のアクティブ・セッションの「バックグラウンド処理」レポートを表示することもできます。「管理」メニューから、「アクティビティの監視」、「アクティブ・セッション」の順に選択します。アクティブ・セッションを選択し、「バックグラウンド処理」を選択します。プロセスを監視するには:
親トピック: バックグラウンド・ページ処理の理解