マーケティングオートメーション計画処理

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

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

マーケティングオートメーションエンジンは、優先順位に応じて作業項目を処理し、優先度の高い項目を優先処理します。

デフォルトのxConnectプラグインの優先順位

デフォルトでは、xConnectプラグインによって追加されたすべての作業項目は、C:\path\toxconnect\App_data\config\sitecore\MarketingAutomation\sc.XConnect.Service.Plugins.MarketingAutomation.xmlファイルの優先度設定を使用します。例えば:

Sitecore.XConnect.Service.Plugins.MarketingAutomation.XdbContactEventWatcher, Sitecore.XConnect.Service.Plugins.MarketingAutomation Sitecore.XConnect.Service.Plugins.IXConnectServicePlugin, Sitecore.XConnect.Service.Plugins Singleton 80 ## 特定のチャネルからの仕事を優先してください

インタラクションのプロパティに基づいて優先順位を変えるには、マーケティングオートメーションプールに作業項目を追加するデフォルトのxConnectプラグインを置き換える必要があります。自分だけのプラグインを作成するには:

  1. Sitecore.XConnect.Service.Plugins.MarketingAutomation.XdbContactEventWatcher(デフォルトのxConnectサービスプラグイン)を継承するクラスを作成します。
  2. .GetPriority()の方法を自分の論理で上書きしましょう。例えば、特定のインタラクションチャネルからの作業を優先したい場合もあります。
  3. C:\path\toxconnect\App_data\config\sitecore\MarketingAutomation\sc.XConnect.Service.Plugins.MarketingAutomation.xmlファイルを開いて、次の行を自分のプラグインに置き換えてください:

Sitecore.XConnect.Service.Plugins.MarketingAutomation.XdbContactEventWatcher, Sitecore.XConnect.Service.Plugins.MarketingAutomation

以下の例は、ソーシャルチャネルからのやり取りの場合に優先度を最高に設定する派生プラグインを示しています:

public class SocialHighPriorityPlugin : XdbContactEventWatcher { private Guid SocialMentionsChannelId = Guid.Parse("{5C56C3CD-6BAB-4EAB-ACF4-C30464326C05}");

public SocialHighPriorityPlugin( IConfiguration configuration, IAutomationPool pool, IActivityEnrollmentProvider activityEnrollmentProvider, ILogger logger) : base(configuration, pool, activityEnrollmentProvider, logger) { }

public SocialHighPriorityPlugin( IAutomationPool pool, IActivityEnrollmentProvider activityEnrollmentProvider, ILogger logger, byte defaultPriority) : base(pool, activityEnrollmentProvider, logger, defaultPriority) { }

protected override byte GetPriority(Interaction interaction) { if (interaction.ChannelId == SocialMentionsChannelId) return 255;

return base.GetPriority(interaction); } }

プールワーカーの設定

マーケティングオートメーションエンジンはプールワーカーを自動的に追加するため、各プールワーカーを個別に定義する必要はありません(ただし、必要に応じて定義することも可能です)。高優先度、通常、低優先度のプールワーカーの数を指定でき、それぞれの優先度を持つワーカーごとにパラメータを設定できます。

プールワーカーの設定はApp_data\config\sitecore\MarketingAutomation\sc.MarketingAutomation.Workers.xmlファイルで行います。 PoolWorker.Configuratorノードには自動生成されるプールワーカーの設定があります。

WorkerToCoreRatio設定は、OSが報告するCPUコア数の比率で作成される総ワーカー数を指定します。比率が1の場合、コア数と同じだけワーカーが作成されます(例えばOSが8コアを報告すれば、合計8ワーカーが作成されます)。比率が0.5の場合、8コアマシンでは4つのワーカーのみが作成されます。

HighPriorityWorkerRatio設定とNormalPriorityWorkerRatio設定で、高優先度、通常、低優先度のワーカー数をコントロールできます。

HighPriorityWorkerRatioは、生成された総労働者のうち、高優先度労働者の比率を指定します。もし8人の労働者が作成され、この設定が0.25であれば、その労働者の25%が高優先度(この場合は2)となります。 NormalPriorityWorkerRatioは通常優先度の高い労働者の数を同様に指定します。0.5の設定は、生成された全体の労働者の半分が通常の優先労働者であることを示します。低優先度労働者の設定は存在しません。この数は他の2つの設定から計算できます。しかし、常に1人の低優先度労働者が作成されます。

各優先度で作成するワーカーごとに、以下のような設定を指定できます:

舞台設定

概要

スケジュール

仕事ができない場合に労働者がどれだけ長く眠るか(秒単位)を指定します。

最低優先度

処理すべき作業項目の最低優先度を指定します

WorkItemTimeout

作業項目のタイムアウト時間:分

作業項目タイムアウトスケジュール

タイムアウトがリセットされるまでの時間:分

個々のプールワーカーを作成し、各ワーカーごとに同じパラメータを設定することも可能です:

Sitecore.Xdb.MarketingAutomation.Processing.PoolWorker, Sitecore.Xdb.MarketingAutomation Sitecore.Xdb.MarketingAutomation.Core.Processing.IPoolWorker, Sitecore.Xdb.MarketingAutomation.Core Transient \`00:00\`:20 0 \`00:00\`:10 \`00:00\`:07 3 5

作業品の遅延

作業項目の処理は様々な理由で失敗することがあります。エンジンは短時間後に処理を再試行しますが、作業項目が処理されない場合(例えば計画が削除されている場合)は処理できない場合があります。繰り返し再試行によるリソースの無駄遣いを避けるため、アイテムは何度も再試した後にストップ(特別なプールに移動)され、再試行はされません。

作業項目が \App_data\config\sitecore\MarketingAutomation\sc.MarketingAutomation.PoolFilter.xmlファイルで停止したタイミングを指定します。

MarketingAutomation.AttemptLimitWorkItemRegulatorノードでは、作業アイテムを停止させるまでの再試行回数(AttemptLimit設定)を設定できます。デフォルトは100です。

MarketingAutomation.AgeLimitWorkItemRegulatorノードでは、再試行の時間制限を設定できます。作業項目が最初に作成されてから一定期間経過すると、処理は再試行されません。設定はAgeLimitで、デフォルト値は10です。00:00

、つまり10日です。

この記事を改善するための提案がある場合は、 お知らせください!