タスク登録
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
タスクマネージャー(TaskManager)を使って、分散タスク、延期タスク、またはContent Managementロールのようなクライアントからのタスクチェーンを登録します。タスクはメッセージバスに追加され、最終的にはCortex処理エンジン内のワーカーによって実行されます。
このトピックの例は、基本的なワーカーオプション辞書( DeferredWorkerOptionsDictionaryとDistributedWorkerOptionsDictionary)を使ってタスクを登録する方法を示しています。この方法で任意のタスクを登録できますが、各ワーカータイプごとに専門的なワーカーオプション辞書を作成するのが標準的な慣行です。デフォルトのワーカーオプション辞書には以下が含まれます:
- MergeWorkerOptionsDictionary
- InteractionProjectionWorkerOptionsDictionary
- ContactProjectionWorkerOptionsDictionary
- InteractionTrainingWorkerOptionsDictionary
- ContactTrainingWorkerOptionsDictionary
遅延タスクを登録する
TaskManagerクラスでRegisterDeferredTaskAsync()メソッドを使って遅延タスクを登録します。以下の例:
- DeferredWorkerOptionsDictionaryの基本クラスを使用します:
- Sitecore.Documentation.SampleDeferredWorkerが存在すると仮定します。
- ワーカーには「testkey」のキーを「testvalue」のキーで扱うロジックが含まれていると仮定します。
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Sitecore.Processing.Engine;
using Sitecore.Processing.Engine.Abstractions;
namespace Sitecore.Docs.Examples
{
public class DocTaskManager
{
public async Task RegisterTask()
{
TaskManager taskManager = ServiceLocator.ServiceProvider.GetService
Guid deferredTaskId = await taskManager.RegisterDeferredTaskAsync( new DeferredWorkerOptionsDictionary("Sitecore.Documentation.SampleDeferredWorker", new Dictionary<string, string>() { { "testkey", "testvalue" } }), null, TimeSpan.FromDays(1)); } } }
分散タスクを登録する
TaskManagerクラスでRegisterDistributedTaskAsync()メソッドを使って分散タスクを登録します。以下の例:
-
DistributedWorkerOptionsDictionaryの基本クラスを使用します:
-
Sitecore.Documentation.SampleDistributedWorkerが存在すると仮定します。
-
ワーカーには「testkey」のキーを「testvalue」のキーで扱うロジックが含まれていると仮定します。
!注分散労働者向けに「DistributedWorkerOptionsDictionary」を引き継ぐ専用のワーカーオプション辞書を作成するのが標準的な慣行です。
-
ContactDataSourceOptionsDictionaryクラスを使用し、ワーカーはxConnectからデータ抽出によってデータを取得することを指定しています。デフォルトのデータソースオプションは4つあります。
-
「TestFacetKey」キーを持つコンタクトファセットが存在すると仮定します。
using System; using System.Collections.Generic; using System.Threading.Tasks; using Sitecore.Processing.Engine; using Sitecore.Processing.Engine.Abstractions; using Sitecore.Processing.Tasks.Options.DataSources.DataExtraction; using Sitecore.XConnect;
namespace Sitecore.Docs.Examples
{
public class DocTaskManager
{
public async Task RegisterDistributedTask()
{
TaskManager taskManager = ServiceLocator.ServiceProvider.GetService
// First task Guid distributedTaskId = await taskManager.RegisterDistributedTaskAsync( new ContactDataSourceOptionsDictionary(new ContactExpandOptions(new string { "TestFacetKey" }), 300, 300), new DistributedWorkerOptionsDictionary("Sitecore.Documentation.SampleDistributedWorker", new Dictionary<string, string> { { "testkey", "testvalue" } }), null, TimeSpan.MaxValue); } } }
デフォルトワーカーのタスク登録
特定の作業員のタスク登録方法については、以下のドキュメントを参照してください。
- 訓練労働者
- 映写作業員
- マージワーカー
!注モデルトレーニングのような多くのシナリオでは、複数の異なるタイプの作業者が処理する一連のタスクが関与しています。