![Nodes and clusters gif](https://demo5-academy.pega.com/sites/default/files/styles/1024/public/media/images/2020-12/nodes-clusters-gif.gif?itok=kKVF0bNX)
バックグラウンド処理
バックグラウンド処理はプロセス集約型のタスクまたは自動化が求められる場合に役立ちます。 バックグラウンドでタスクを実行すると、ユーザーはケースやその他の作業を続行でき、システムのスケーラビリティとパフォーマンスが向上します。
たとえば、ユーザーがバッチファイルを定期的に処理して外部のコンテンツ管理システムにアップロードしている企業があります。 ユーザーは、新しいケースを処理してアップロードの実行を行う必要がありますが、その際にパフォーマンス上の遅延を発生させたくはありません。 Pega Platform™では、ファイルのアップロードアクティビティを別システムで、またはシステム使用率が低いときにバックグラウンドで自動化するルールを設定できます。 タスクを専用ノードまたはオフピーク時間に移動することで、ユーザーはアップロード操作による影響を受けることなくケースの処理を続行できます。
クラスターとノード
Pega Platformは、多くの場合、クラスターと呼ばれるサーバーセットにインストールされます。 このクラスターで各サーバー、つまりノードを特定の処理を行うタスクのノードタイプに指定できます。
次に、システムでは特定のノードでユーザーインタラクションを処理しつつ、バックグラウンドタスクを別のノードに割り当てることができます。 その結果、システムでは、ノードでサポートされるインタラクションのタイプに応じて、各ノードのパフォーマンスを最適化できます。
次の問題に答えて、理解度をチェックしましょう。
バックグラウンド処理の種類
Pega Platformには、バックグラウンドでオブジェクトに対してシステムタスクを実行するqueue processorsとjob schedulersという2つのオプションがあります。
補足: Pega Platformの旧バージョンに含まれる標準タイプおよび詳細タイプのエージェントはキュープロセッサーとジョブスケジューラーに置き換わっています。 バックグラウンド処理のベストプラクティスの詳細については、「Configuring resources - use job schedulers and queue processors instead of agents」を参照してください。
キュープロセッサー
キュープロセッサーでは、バックグラウンド処理するタスクを識別し、待ち行列化します。
- タスクはアクティビティでRun in Background自動化またはQueue-For-Processingメソッドのいずれかを使用してキューに入れることができます。
- タスクはすぐにキューに入れることも、キュー自体を遅らせることもできます。
- タスクはキューに入れられたアイテムで実行されるアクティビティとして定義されます。
たとえば、キュープロセッサーはデータベースへのファイルのアップロードのバッチ処理で設定されます。 処理中にキュープロセッサーが呼び出されると、タスクがキューに入れられ、キュープロセッサーの設定に基づいて実行されます。
Dev Studioのヘッダーで、Create > SysAdmin > Queue Processorをクリックしてキュープロセッサールールを作成します。 次の画像で アイコンをクリックすると、キュープロセッサーのオプションと設定の詳細が表示されます。
キュープロセッサールールフォームで、Processing retriesセクションを設定する必要が生じる場合もあります。
- Max Attempts – キューに入れられたプロセスの再試行回数。
- Initial Delay – キューに入れられたプロセスの2回目の試行までの分数。
- Delay Factor – 遅延させる試行間の乗数。 たとえば、初期遅延が1分で、遅延係数が2の場合、再試行は1、2、4、8分間隔で実行されます。
補足: キュープロセッサールールの作成に関する詳細については、「Creating a queue processor rule」を参照してください。
ジョブスケジューラー
ジョブスケジューラーでは、定期的なタスクを指定された間隔で実行するようにスケジュールし、その時に処理するタスクを特定します。 ジョブスケジューラーは夜間のバッチジョブなど、定期的に繰り返すタスクに最適です。
たとえば、保険会社が顧客に契約更新を促す場合、保険契約の有効期限が切れる1か月前に自動的にメールを送信するプロセスが必要になります。 ジョブスケジューラーを使用して毎日実行するように設定し、1か月で期限切れになるすべての契約を特定するような要件にします。
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オプションが有効になっています。
補足: バックグラウンド処理の有効化に関する詳細については、「Viewing general system settings」および「Automating the runtime context management of background processes」を参照してください。
次の画像で
アイコンをクリックすると、バックグラウンドプロセスを設定するための要件の詳細が表示されます。以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
- バックグラウンド処理 v4
If you are having problems with your training, please review the Pega Academy Support FAQs.