Commerce Engineミニオン

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore XC Commerce Engineは、ミニオンを基本的な作業単位として活用して、プロセス内の特定のタスクを実行します。 定義済みのCommerce Engineミニオンは、次の領域で主要なプロセスを実行します。

  • コマース トランザクション プロセス (注文や販売活動など)

  • コマース エンティティのインデックス作成 (注文、顧客、カタログ アイテムのインデックス作成など)

  • 管理業務 (dev-ops業務など)

ミニオンは、リストに対して基本的なアクションを実行します。 ミニオンが実行する一般的なタスクには、次のようなものがあります。

  • リストをウォッチする

  • リストに項目を追加する

  • リストからのアイテムの削除

  • あるリストから別のリストにアイテムを移動する

ミニオンは1つのタスクを実行して停止できます。または、ミニオンはリストを反復処理し、パイプラインを呼び出して、そのリスト内のアイテムに対してビジネス機能を実行できます。

このトピックには、次の内容が含まれています。

ミニオンポリシー

ミニオン ポリシーは、各ミニオンを定義します。ミニオン ポリシー (MinionPolicy) は、ミニオンの名前、ミニオンが監視する必要があるリスト (ListToWatch)、およびミニオンの完全修飾アセンブリ名 (FullyQualifiedName) を指定する構成です。

ミニオン ポリシーは、環境に固有のポリシーを含む .jsonファイルで定義されます。他の構成と同様に、ミニオン ポリシー設定はブートストラップ プロセス中にCommerce Engineに登録されます。

次に、ミニオン ポリシー設定の例を示します。

{
  "$type":"Sitecore.Commerce.Core.MinionPolicy, Sitecore.Commerce.Core",
  "WakeupInterval": "[HOW FREQUENT THE MINION RUNS]",
  "ListToWatch": "[MINION LIST NAME]",
  "FullyQualifiedName": "[FULLY QUALIFIED NAME OF THE MINION]",
  "ItemsPerBatch": "[HOW MANY ITEMS THE MINION IS GOING TO FETCH AT ONCE]",
  "SleepBetweenBatches": "[HOW LONG THE MINION WAITS TO FETCH NEW ITEM FROM THE LIST]",
}

ミニオンのスケーリング

Commerce Engineは、childrenミニオンに作業を委任して実行する親ミニオンとして機能するboss minionを使用します。各子ミニオンは、動作対象のリストを定義します。これにより、ミニオンは、複数のミニオンが1つのリストから読み取る競合なしにスケーリングできます。

保留中の注文プロセスは、スケーリングするボスミニオンの実装の良い例を提供します。 PendingOrdersMinionBossは、PendingOrdersリストを監視するように構成された親ミニオンとして定義されます。ボスミニオンの主なタスクは、保留中の注文をchildrenミニオンに分配して処理することです。 PendingOrdersMinionBossには2つのchildrenミニオンが定義されています。各子は、独立して処理する保留中の注文の独自のリスト(それぞれPendingOrder.1PendingOrder.2)を監視します。

次に示すのは、2つの子ミニオン定義を含む親ボス ミニオンを示すスケーリング ミニオン構成の例です。

{
 "$type": "Sitecore.Commerce.Core.MinionBossPolicy, Sitecore.Commerce.Core",
 "Children": {
   "$type": "System.Collections.Generic.List`1[[Sitecore.Commerce.Core.MinionPolicy, Sitecore.Commerce.Core]], mscorlib",
   "$values": [
     {
       "$type": "Sitecore.Commerce.Core.MinionPolicy, Sitecore.Commerce.Core",
       "WakeupInterval": "00:05:00",
       "ListToWatch": "PendingOrders.1",
       "FullyQualifiedName": "Sitecore.Commerce.Plugin.Orders.PendingOrdersMinion, Sitecore.Commerce.Plugin.Orders",
       "ItemsPerBatch": 10,
       "SleepBetweenBatches": 500
      },
      {
       "$type": "Sitecore.Commerce.Core.MinionPolicy, Sitecore.Commerce.Core",
       "WakeupInterval": "00:05:00",
       "ListToWatch": "PendingOrders.2",
       "FullyQualifiedName": "Sitecore.Commerce.Plugin.Orders.PendingOrdersMinion, Sitecore.Commerce.Plugin.Orders",
       "ItemsPerBatch": 10,
       "SleepBetweenBatches": 500
      }
     ]
    },
    "WakeupInterval": "00:05:00",
    "ListToWatch": "PendingOrders",
    "FullyQualifiedName": "Sitecore.Commerce.Plugin.Orders.PendingOrdersMinionBoss, Sitecore.Commerce.Plugin.Orders",
    "ItemsPerBatch": 10,
    "SleepBetweenBatches": 500
この記事を改善するための提案がある場合は、 お知らせください!