1. 一般設定の定義

EXM再試行者を構成する

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

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

EXMは、一時障害処理フレームワークに基づいて3つの再試行者を使用します。一時的な障害処理の詳細については、Microsoftのこのドキュメントを参照してください。Sitecoreの3つのEXM再試行者は次のとおりです。

  • EXMがSMTP経由でメッセージを送信するために使用するEmailCampaign.EDS.Core.Net.Smtp.Send.Retryer ( Send再試行者と呼ばれます)。

  • EXMが接続プールからSMTP接続を取得して検証するために使用するEmailCampaign.EDS.Core.Net.Smtp.ValidateConnection.Retryer

  • EmailCampaign.XConnect.Conflict.Retryer (xConnect競合再試行ツールと呼ばれます) は、xConnectとの競合がある場合にEXMがメソッドを再試行するために使用します。

再試行者には、EXMの設定時に設定できるデフォルト値があります。できます:

  • エクスポネンシャル バックオフ再試行戦略を構成します。

  • Send再試行者を固定間隔の再試行動作に変換します。

  • 特定のSMTP関連の一時的な障害コードをSend再試行に追加します。

Sitecore.EDS.Core.configファイルでは、最初の2つのEXM再試行の設定コードを次に示します。

<TransientFaultHandling>
    <Retryers>
        <!-- Retryer to send messages over SMTP. -->
        <EDS.Core.Net.Smtp.Send.Retryer>
            <Type>Sitecore.EDS.Core.TransientFaultHandling.RetryerFactories.SmtpSendExponentialRetryerFactory, Sitecore.EDS.Core</Type>
            <!-- <Type>Sitecore.EDS.Core.TransientFaultHandling.RetryerFactories.SmtpSendFixedRetryerFactory, Sitecore.EDS.Core</Type> -->
            <Options>
                <ExponentialRetry>
                    <MaxAttempts>10</MaxAttempts>
                    <MinBackoff>00:00:01</MinBackoff>
                    <MaxBackoff>00:00:30</MaxBackoff>
                    <DeltaBackoff>00:00:10</DeltaBackoff>
                </ExponentialRetry>
                <!--
                <FixedRetry>
                    <RetryCount>3</RetryCount>
                    <RetryInterval>00:00:01</RetryInterval>
                    <FirstFastRetry>false</FirstFastRetry>
                </FixedRetry>
                -->
                <TransientSmtpErrorCodes>
                    <ServiceIsNotAvailable>421</ServiceIsNotAvailable>
                </TransientSmtpErrorCodes>
            </Options>
        </EDS.Core.Net.Smtp.Send.Retryer>
        <!-- Retryer to validate SMTP connection. -->
        <EDS.Core.Net.Smtp.ValidateConnection.Retryer>
            <Type>Sitecore.EDS.Core.TransientFaultHandling.RetryerFactories.SmtpValidateFixedRetryerFactory, Sitecore.EDS.Core</Type>
            <Options>
                <FixedRetry>
                    <RetryCount>3</RetryCount>
                    <RetryInterval>00:00:01</RetryInterval>
                    <FirstFastRetry>false</FirstFastRetry>
                </FixedRetry>
            </Options>
        </EDS.Core.Net.Smtp.ValidateConnection.Retryer>
    </Retryers>
</TransientFaultHandling>

エクスポネンシャル バックオフ再試行戦略の構成

デフォルトでは、Send再試行者は指数関数的なバックオフ再試行動作を使用するため、再試行の繰り返しはランダムな間隔で間隔が空けられます。エクスポネンシャル バックオフ戦略の詳細については、Wikipediaのこの記事を参照してください

エクスポネンシャル バックオフ戦略を設定するには、次のようにします。

  • Send再試行の <ExponentialRetry> セクションで、次の値を構成します。

設定

デフォルト

形容

最大試行回数

10

一時的な例外の再試行回数を指定します。この量に達すると、再試行者はターゲット サービスを利用不可として定義します。

ミンバックオフ

00:00:01

再試行間の最小時間。

マックスバックオフ

00:00:30

再試行の最大間隔。

デルタバックオフ

00:00:10

再試行間のデルタ バックオフ間隔。

送信再試行者を固定間隔の再試行動作に変換する

EXMは、デフォルトの指数関数的な動作ではなく、一定の間隔で再試行するオプションをサポートしています。

インターバル再試行動作に変換するには:

  1. Send再試行者のコードで、<ExponentialRetry> セクションを見つけ、コメント インジケーター <!---->でコメント アウトします。

  2. <FixedRetryセクションを見つけ、コメント インジケータ <!---->を削除してコメントを解除します。

Send再試行の <ExponentialRetry> セクションでは、次の値を構成できます。

設定

デフォルト

形容

リトライカウント

3

一時的な例外の最大再試行回数を指定します。

再試行間隔

00:00:01

再試行間の固定時間間隔。

一時的な障害コードをSendリトライヤに追加する

<TransientSmtpErrorCodes> セクションでは、EmailCampaign.EDS.Core.Net.Smtp.Send.Retryer再試行者がチェックするSMTP固有の一時的な障害を指定します。デフォルトでは、再試行者は常に障害コード421を確認します。これは、受信者サービスが利用できないことを示します。再試行者のチェックをより具体的にするために、このセクションに障害コードを追加できます。

特定の障害コードを追加するには:

  1. 設定コードで、<TransientSmtpErrorCodes> セクションを見つけます。

  2. 新しい行を <YourDescription>the fault code</YourDescription>で追加します。

先端

<YourDescription> フィールドを使用して、エラー コードの意味について自分にとって有用な説明を記述します。

SMTP一時障害コードとその意味の詳細については 、SMTP拡張ステータス コード レジストリを参照してください。

xConnect競合再試行ツールの設定

EXMは、xConnectと競合がある場合、EmailCampaign.XConnect.Conflict.Retryerを使用してメソッドを再試行します。このような競合が発生すると、再試行者は競合したエンティティをxConnectから再度フェッチしようとします。

Sitecore.EmailExperince.xConnect.configファイル (パス: \<Your Instance Name>\App_Config\Sitecore\EmailExperience) では、xConnect競合再試行ツールの設定コードを次に示します。

<TransientFaultHandling>
    <Retryers>
        <EmailCampaign.XConnect.Conflict.Retryer>
            <Type>Sitecore.EmailCampaign.XConnect.Web.TransientFaultHandling.RetryerFactories.XConnectConflictFixedRetryerFactory, Sitecore.EmailCampaign.XConnect.Web</Type>
            <Options>
                <FixedRetry>
                    <RetryCount>3</RetryCount>
                    <RetryInterval>00:00:01</RetryInterval>
                    <FirstFastRetry>false</FirstFastRetry>
                </FixedRetry>
            </Options>
        </EmailCampaign.XConnect.Conflict.Retryer>
    </Retryers>
</TransientFaultHandling>

xConnect Conflict Retryerでは、次の値を設定できます。

設定

デフォルト

形容

リトライカウント

3

xConnectから競合するエンティティをフェッチするための最大再試行回数を指定します。

再試行間隔

00:00:01

再試行間の固定時間間隔。

ファーストファストリトライ

EXMが競合に遭遇した直後に最初の再試行を実行するかどうかを指定します。デフォルトでは、これはfalseで、最初の再試行はRetryIntervalに従って行われます。

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