処理サービスのワークフロー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
処理サービスには、次の3つのワークフローがあります。
仕事を得る
これは、インタラクションを処理するための最初のステップです。処理エンジンはスケジュールに従って実行され、データベースを定期的にチェックして、インタラクションが閉じられ、処理の準備ができているかどうかを確認します。プロセスは次のとおりです。
-
タイマーは、閉じたインタラクションをチェックするためにシステムをトリガーします。
-
システムは、データベースで閉じられたインタラクションをチェックし、イベントとのインタラクションのバッチを取得します。
-
システムは、対話のタイムアウト (スケジュール) を定期的に 設定 する並列プロセスを開始します。
-
システムは、インタラクション (リンクされたイベントを含む) をワーカープールに送信して処理します。
-
ワーカープールは、1つのインタラクションを1つのワーカーに分散します。
-
ワーカー はインタラクションを処理します。
-
ワーカーは、対話が完了したことをシステムに通知します。
-
システムは、SetTimeoutワーカーがそれを見ることができるように、完了するインタラクションをマークします。
-
バッチ内の残りのインタラクションの数が設定されたしきい値(たとえば、元のバッチサイズの10%)未満の場合は、ステップ2から繰り返します。
-
インタラクションがこれ以上ない場合、タイマーは設定されたタイムアウト後にワーカーをトリガーするように設定されます。
プロセスの相互作用
これは、単一のインタラクションが完了までどのように処理されるかを詳しく説明します。
-
1つのトラッキング インタラクションが受信され、処理されます。
-
ワーカーは、プレフィルターが定義されているかどうかを確認します。
-
フィルターが定義されている場合は、それを実行します。
-
フィルターがインタラクションを除外する場合は、インタラクションを停止し、完了としてマークします。
-
ワーカーは、エンリッチメント パイプラインが定義されているかどうかを確認し、定義されている場合はそれを実行します。
-
ワーカーは、ポストフィルタが定義されているかどうかを確認します。
-
フィルターが定義されている場合は、それを実行します。
-
フィルターがインタラクションを除外する場合は、インタラクションを完了としてマークし、停止します。
-
ワーカーは、インタラクションをxConnectコンテキストに追加します。
-
ワーカーは、インタラクション ファセットをxConnectコンテキストに追加します。
-
ワーカーはxConnectコンテキストを送信します。
-
ワーカーはインタラクションを完了としてマークします。
タイムアウトの設定
インタラクションがチェックアウトされると、インタラクションのscheduledプロパティは、処理の回復と継続性を提供するために、将来の時点に設定されます。処理が完了する前にワーカーが失敗した場合、スケジュールされたDateTimeが経過した後に、別のワーカー (単一のワーカーまたは別の処理エンジン インスタンス) が作業を引き継ぐことができます。
他のワーカーが同じインタラクションを処理しようとするのを防ぐために、タイムアウトを少し (45秒など) 将来に継続的にプッシュする必要があります。
このプロセスは、作業取得 プロセスと並行して実行されます。
-
システムはSetTimeoutワーカーを起動します。
-
SetTimeout秒数待機します。待機する秒数は、システム設定によって決まります。通常、この値は、インタラクションをチェックアウトするときに設定されるタイムアウト値の半分です。
-
ワーカーは、バッチのインタラクションが完了としてマークされているかどうかを確認し、完了したインタラクションパーツをデータベースから削除します。
-
完了していないすべてのインタラクションについて、ワーカーはデータベースを呼び出して、インタラクションがチェックアウトされたときに使用された値にタイムアウトを設定します。