Commerce Engineミニオン
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore XC Commerce Engineは、ミニオンを基本的な作業単位として活用して、プロセス内の特定のタスクを実行します。 定義済みのCommerce Engineミニオンは、次の領域で主要なプロセスを実行します。
-
コマース トランザクション プロセス (注文や販売活動など)
-
コマース エンティティのインデックス作成 (注文、顧客、カタログ アイテムのインデックス作成など)
-
管理業務 (dev-ops業務など)
ミニオンは、リストに対して基本的なアクションを実行します。ミニオンが実行する一般的なタスクには、次のようなものがあります。
-
1つまたは複数のリストをウォッチする
-
リストに項目を追加する
-
リストからのアイテムの削除
-
あるリストから別のリストにアイテムを移動する
ミニオンは1つのタスクを実行して停止できます。または、一部のミニオンは、スケジューラによってリストを反復処理し、パイプラインを呼び出してそのリストでビジネス機能を実行するようにトリガーされます(たとえば、注文処理ミニオンなど)。
また、Sitecore.Commerce.Engine.SDKに含まれているPostmanサンプルを使用して、ミニオンを手動でトリガーして実行することもできます。
ミニオンポリシー
ミニオンポリシー
ミニオン ポリシーは、Plugin.Minion.PolicySet-1.0.0.jsonファイル、または環境に固有のCommerce Engineポリシーを含む .jsonファイルで定義されます。他の構成と同様に、ミニオン ポリシー設定はブートストラップ プロセス中にCommerce Engineに登録されます。
MinionPolicyには、ミニオンが処理するエンティティ タイプを指定するEntitiesパラメーターが含まれています。
ミニオンは、実行する前に、同じCommerce Engineインスタンスで実行されている他のミニオンが、処理と同じエンティティ タイプを処理するように構成されているかどうかを確認します。別のミニオンが同じエンティティ タイプを処理している場合、ミニオンは最初のミニオンの実行が終了するまで待ってから、独自のプロセスを開始します。これにより、2つのミニオン プロセスがCommerce Engineの同じインスタンスで同じエンティティを同時に更新しようとした場合に発生する同時実行エラーを防ぐことができます。
たとえば、FullIndexMinionが実行される前に、インデックス内のデータの破損を避けるために、DeleteIndexDocumentsMinionもIncrementalIndexMinion (どちらも同じエンティティ型で動作) が同時に実行されていないことを確認します。
次に、インデックス作成ミニオン ポリシーの例を示します。
Entitiesプロパティはオプションです。Entitiesプロパティを空のままにすると、ミニオンは実行前に同じタイプの別のミニオンのみをチェックします。
たとえば、次のミニオン ポリシー構成では、PurgeCartsMinionは、PurgeCartsMinionの他のインスタンスがまだ実行されていない場合にのみ実行されます。
次の表では、ミニオン構成のプロパティについて説明します。
|
財産 |
形容 |
|---|---|
|
type |
ミニオンの基になるクラス タイプを宣言します。 |
|
WakeupInterval |
ミニオンの実行間隔を設定します。 |
|
ListsToWatch |
ミニオンが監視しているリストの名前を指定します。ミニオンは、"promotions" や "promotionsBooks"など、類似したタイプのエンティティについて、複数のリストを監視できます。 メモ 複数のリストを監視する場合、ミニオンは最初のリストからデータを読み取り、次に2番目のリストを読み取ります。 このプロパティはSitecore XCリリース9.3で導入され、非推奨のListToWatchプロパティを置き換えます。 この宿泊施設は必須です。 |
|
FullyQualifiedName |
ミニオン クラスの完全修飾名を指定します。 |
|
ItemsPerBatch |
ミニオンがバッチでドキュメントのインデックスを作成するために処理するドキュメントの数を指定します。 |
|
SleepBetweenBatches |
各ドキュメント バッチ間で待機する時間を示します。 |
|
Entities |
ミニオンが処理するエンティティ タイプを指定します。 |
ミニオンのスケーリング
ミニオンのスケーリング
Commerce Engineは、childrenミニオンに作業を委任して実行する親ミニオンとして機能するboss minionを使用します。各子ミニオンは、動作対象のリストを定義します。これにより、ミニオンは、複数のミニオンが1つのリストから読み取る競合なしにスケーリングできます。
保留中の注文プロセスは、スケーリングするボスミニオンの実装の良い例を提供します。 PendingOrdersMinionBossは、PendingOrdersリストを監視するように構成された親ミニオンとして定義されます。ボスミニオンの主なタスクは、保留中の注文をchildrenミニオンに分配して処理することです。 PendingOrdersMinionBossには2つのchildrenミニオンが定義されています。各子は、独立して処理する保留中の注文の独自のリスト(それぞれPendingOrder.1とPendingOrder.2)を監視します。
次に示すのは、2つの子ミニオン定義を含む親ボス ミニオンを示すスケーリング ミニオン構成の例です。