プラグイン ステップ登録を重複させない

カテゴリ: パフォーマンス

影響の可能性: 高い

現象

プラグイン ステップ登録を重複させると、同じメッセージまたはイベントに対してプラグインが複数回実行されます。 これは次の現象を招きます:

  • 非同期実行モードとして登録されると、非同期ジョブのプロセスが遅れる。
  • 同期実行モードとして登録されると、ユーザー パフォーマンス エクスペリエンスが低下する。 エクスペリエンスには次のものが含まれます:
    • モデル駆動アプリが応答しない
    • クライアント対話が遅くなる
    • ブラウザーが応答を停止する

ガイダンス

削除して再作成するのではなく、現存するプラグイン登録ステップを更新してください。 また、サポートされている手法のプラグイン登録ステップのみを作成および更新してください。

問題となるパターン

警告

これらのパターンは、回避する必要があります。

ソース インスタンス (test、dev、preprod) のステップが削除および再作成されると、そのステップが以前に登録されていた場合は、ターゲット環境で登録されている重複ステップも作成します。

プラグイン ステップ登録の重複。

新しい GUID で SDKMessageProcessingSteps を手動で作成するか customizations.xml ファイル内で既存の GUID を更新すると、重複ステップが登録されることになります。 カスタマイズ ファイルを編集するとき で説明されているように、これらのタスクの種類はサポートされていません。

追加情報

イベントが更新メッセージに登録されると、プラグイン ステップ登録の重複により SQL のデッドロックが発生する可能性があります。 レコードの更新が発行されると、SQL はそのレコードの行のロックを作成します。 別のトランザクションが同じレコードを更新しようとする場合、更新が可能になる前にロックがリリースされるまで待つ必要があります。 タイムアウトが発生すると、トランザクションがロールバックされて、更新は SQL データベースにコミットされません。

関連項目

プラグインの登録 デッドロック

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。