Skip to main content

バックグラウンド処理

バックグラウンド処理はプロセス集約型のタスクまたは自動化が求められる場合に役立ちます。バックグラウンドでタスクを実行すると、ユーザーはケースやその他の作業を続行でき、システムのスケーラビリティとパフォーマンスが向上します。

たとえば、ユーザーがバッチファイルを定期的に処理して外部のコンテンツ管理システムにアップロードしている企業があります。ユーザーは、新しいケースを処理してアップロードの実行を行う必要がありますが、その際にパフォーマンス上の遅延を発生させたくはありません。Pega Platformでは、ファイルのアップロードアクティビティを別システムで、またはシステム使用率が低いときにバックグラウンドで自動化するルールを設定できます。タスクを専用ノードまたはオフピーク時間に移動することで、ユーザーはアップロード操作による影響を受けることなくケースの処理を続行できます。

クラスターとノード

Pega Platformは、多くの場合、クラスターと呼ばれるサーバーセットにインストールされます。このクラスターで各サーバー、つまりノードを特定の処理を行うタスクのノードタイプに指定できます。

Nodes and clusters gif

次に、システムでは特定のノードでユーザーインタラクションを処理しつつ、バックグラウンドタスクを別のノードに割り当てることができます。その結果、システムでは、ノードでサポートされるインタラクションのタイプに応じて、各ノードのパフォーマンスを最適化できます。

以下のインタラクションで理解度をチェックしてください。

バックグラウンド処理の種類

Pega Platformには、バックグラウンドでオブジェクトに対してシステムタスクを実行するとという2つのオプション、queue processorsjob schedulersがあります。

キュープロセッサー

キュープロセッサーでは、バックグラウンド処理するタスクを識別し、待ち行列化します。

  • タスクはアクティビティでRun in Background自動化またはQueue-For-Processingメソッドのいずれかを使用してキューに入れることができます。
  • タスクはすぐにキューに入れることも、キュー自体を遅らせることもできます。
  • タスクはキューに入れられたアイテムで実行されるアクティビティとして定義されます。

たとえば、キュープロセッサーはデータベースへのファイルのアップロードのバッチ処理で設定されます。処理中にキュープロセッサーが呼び出されると、タスクがキューに入れられ、キュープロセッサーの設定に基づいて実行されます。

queue-processor-example

Dev Studioのヘッダーで、「Create > SysAdmin > Queue Processor」をクリックしてキュープロセッサールールを作成します。次の画像で「+」アイコンをクリックすると、キュープロセッサーのオプションと設定の詳細が表示されます。

キュープロセッサールールフォームで、Processing retriesセクションを設定する必要が生じる場合もあります。

  • Max Attempts – キューに入れられたプロセスの再試行回数。
  • Initial Delay – キューに入れられたプロセスの2回目の試行までの分数。
  • Delay Factor – 遅延させる試行間の乗数。たとえば、初期遅延が1分で、遅延係数が2の場合、再試行は1、2、4、8分間隔で実行されます。

Alerts and health check configuration」セクションの「Maximum Time Before the Queued Process is Interrupted」フィールドでは、キュープロセッサーによって実行されるアクティビティを Pega Platformが中断するまでのしきい値時間を設定できます。この機能により、長時間実行されるアクティビティがシステムパフォーマンスに影響を与えないようにし、バックグラウンド処理の信頼性を高めることができます。次の画像は、キュープロセッサールールフォーム内でこのフィールドが構成されている場所を示しています。

queue-processor-alert
補足: キュープロセッサールールの作成に関する詳細については、「Creating a queue processor rule」を参照してください。

ジョブスケジューラー

ジョブスケジューラーでは、定期的なタスクを指定された間隔で実行するようにスケジュールし、その時に処理するタスクを特定します。 ジョブスケジューラーは夜間のバッチジョブなど、定期的に繰り返すタスクに最適です。

たとえば、保険会社が顧客に契約更新を促す場合、保険契約の有効期限が切れる1か月前に自動的にメールを送信するプロセスが必要になります。ジョブスケジューラーを使用して毎日実行するように設定し、1か月で期限切れになるすべての契約を特定するような要件にします。次の図は、このジョブスケジューラーの動作を示しています。

job-scheduler-example

Dev Studioのヘッダーで、「Create > SysAdmin > Job Scheduler 」をクリックしてジョブスケジューラールールを作成します。次の画像で「+」アイコンをクリックすると、ジョブスケジューラールールの設定オプションの詳細が表示されます。

補足: ジョブスケジューラールールの設定に関する詳細については、「Creating a job scheduler rule」を参照してください。

バックグラウンド処理要件

アプリケーションのバックグラウンド処理を有効にするには、アプリケーションルールでオプション「Include in background processing」を選択します。アプリケーションでこのオプションを有効にすると、バックグラウンド処理タスクを実行するときにSystem Runtime Contextレコードが更新されアプリケーションが含まれるようになります。System Runtime Contextでバックグラウンド処理の完了が自動的に管理されます。

Pega Platformのアップデートの場合、既存のコンテキストが現在のASYNCPROCESSORリクエスタータイプからSystem Runtime Contextレコードに移行されます。New Applicationウィザードを使用して新しいアプリケーションを作成する場合はデフォルトでInclude in background processingオプションが有効になっています。

補足: バックグラウンド処理を有効にする方法の詳細については、「General system settings」および「Including an application in System Runtime Context」を参照してください。

次の画像で「+」アイコンをクリックすると、バックグラウンドプロセスを設定するための要件の詳細が表示されます。

以下のインタラクションで理解度をチェックしてください。


このトピックは、下記のモジュールにも含まれています。

トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。

このコンテンツは役に立ちましたか?

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice