エージェント

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

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

エージェントは、Cortex Processing Engine(Processing Engine)内での作業の処理を担当します。各エージェントはスレッドを表し、並列に実行するように構成できます。Processing Engineには、タスクエージェントが定期的にCortex Processing Engine Tasksデータベースをポーリングし、それらのタスクを実行するためにワーカーを呼び出すなど、いくつかのデフォルトエージェントが付属しています。

開発者は、次のことができます。

  • Configure existing agents - たとえば、タスクエージェントのスケーリング方法を変更できます。

  • カスタムエージェントを作成します。

Agent基本クラス

すべてのエージェントはIAgentを実装します。さらに、次の2つの基本クラスを使用できます。

  • BaseAgent基本的な機能とサービスを提供します。 BaseAgentを継承するエージェントは、一定の間隔で実行されませんが、エンジンの開始時に開始し、イベントが発生するまでスリープする可能性があります。

  • RecurringAgentBaseAgentを継承します。 RecurringAgentを継承するエージェントは、構成可能な間隔で定期的に実行されます。ほとんどのデフォルト・エージェントはRecurringAgentを継承します。

エージェント構成オプション

エージェントは、<engine-root>\\App_Data\\Config\\Sitecore/Processing/scに登録されて構成されます。Processing.Engine.Services.xml設定ファイル。エージェントを設定するには、次の2つの方法があります。

  • 単純な構成では、1つのエージェントが登録されます。

  • パラレル・エージェント構成では、複数のエージェントを手動で登録するか、使用可能なコア数に対して相対的に登録できます。

BaseAgentを継承するエージェントは、起動時に一度実行されます。RecurringAgentを継承するエージェントは、構成可能な間隔で実行されます。

シンプルなエージェント構成

次の例は、単一のタスク クリーンアップ エージェント (TaskCleanupAgent) を登録する方法を示しています。タスク クリーンアップ エージェントはRecurringAgentを継承し、エージェントの実行頻度を決定するSleepPeriod構成設定を想定しています。

<Settings>
  <Sitecore>
    <Processing>
      <Services>
        <TaskCleanupAgent>
            <Type>Sitecore.Processing.Engine.Agents.TaskCleanupAgent, Sitecore.Processing.Engine</Type>
            <As>Sitecore.Processing.Engine.Abstractions.IAgent, Sitecore.Processing.Engine.Abstractions</As>
            <LifeTime>Transient</LifeTime>
            <Options>
                <!-- The period which the agent sleeps before running again. -->
                <SleepPeriod>0.00:00:14.000</SleepPeriod>
            </Options>
        </TaskCleanupAgent>
      </Services>
    </Processing>
  </Sitecore>
</Settings>
メモ

RecurringAgentを継承しないエージェントは、SleepPeriod設定を必要としません。

パラレル・エージェントの構成

次の例は、TaskAgentを例に、複数のエージェントを登録する方法を示しています。

<Settings>
  <Sitecore>
    <Processing>
      <Services>
        <TaskAgents>  <!-- Name of agent -->
            <Type>Sitecore.Processing.Engine.Agents.ParallelAgentsConfiguration, Sitecore.Processing.Engine</Type>
            <As>Sitecore.XConnect.DependencyInjection.Abstractions.IXConnectServicesConfiguration, Sitecore.XConnect.DependencyInjection</As>
            <LifeTime>Transient</LifeTime>
            <Options>
            <!-- The fixed number of agents to register. These are in addition to the agents registered by the AgentCoreRatio option. -->
            <AgentFixedCount>0</AgentFixedCount>
            <!-- The ratio of the count of agents to CPU cores to register. These are in addition to the agents registered by the AgentFixedCount option. -->
            <AgentCoreRatio>0.75</AgentCoreRatio>
            <!-- The configuration for the agents to register. -->
            <AgentConfiguration>
                <Type>Sitecore.Processing.Engine.Agents.TaskAgent, Sitecore.Processing.Engine</Type>
                <As>Sitecore.Processing.Engine.Abstractions.IAgent, Sitecore.Processing.Engine.Abstractions</As>
                <LifeTime>Transient</LifeTime>
                <Options>
                <!-- The period which the agent sleeps before running again. -->
                <SleepPeriod>0.00:00:14.000</SleepPeriod>
                <!-- The name of the machine on which the agent is running. -->
                <MachineName>${MachineName}</MachineName>
                </Options>
            </AgentConfiguration>
            </Options>
        </TaskAgents>
      </Services>
    </Processing>
  </Sitecore>
</Settings>

次の設定はParallelAgentsConfigurationに固有のものです。

設定

形容

AgentFixedCount

登録するエージェントの絶対数を定義します。固定エージェントは、AgentCoreRatioで登録したエージェントに加えて登録されます。

AgentCoreRatio

登録するエージェントの数を、ホスト・マシンで使用可能なコアに対するAgentCoreRatioの比率で定義します。8コア マシンのコンテキストでは、次のようになります。

  • 比率が1の場合、8つのエージェントが登録されます。

  • 比率が0.5の場合、4つのエージェントが登録されます。

  • 比率が2の場合、16人のエージェントが登録されます。

コアを追加してホストマシンをスケールアップすると、エージェントの数は自動的にスケールアップします。エージェントは、AgentFixedCountによって登録されたエージェントに加えて登録されます。

 

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