スケジュールされたタスク
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
SitecoreAIの組み込みスケジューラにより、設定ファイルを編集せずに定期的なバックグラウンド操作を実行できます。タスクはコンテンツツリー(データベース)内の項目として定義されるため、管理、バージョン変更、デプロイが容易です。
スケジュールされたタスク実行には2種類のSitecoreアイテムタイプが関与しています:
-
Commandアイテム
-
Scheduleアイテム
コマンドアイテム
Command項目が実行すべきコードwhat定義します。この学校は/sitecore/system/Tasks/Commandsに位置しています。
Command項目は実行可能コードを指し、以下のフィールドを含みます。
-
Type - アセンブリー認定クラス名。
-
Method - Sitecoreが呼び出すべきメソッド。

スケジュール項目
Schedule項目がwhenを定義し、コマンドを実行するhow oftenします。/sitecore/system/Tasks/Schedulesに位置しています。
Schedule項目には以下の項目が含まれます:
-
Command - 関連するCommand項目への言及。
-
Items - コマンドに入力されたアイテムを取得するためのクエリ。
-
Schedule - 実行タイミングを定義する パイプ分離された文字列 。
-
Async - 有効化されている場合、タスクをバックグラウンドスレッドでSitecoreジョブとして実行します。
-
Auto remove - 満期後にスケジュールを自動的に削除します。
-
Last run - 直近の実行のタイムスタンプ。

スケジュールフィールド形式
Sitecore ScheduleアイテムのScheduleフィールドは、パイプ分離(|)4部構成の構文を使用しています。
例:
フィールド内訳
以下の表はSchedule項目構文の各フィールドを説明します。
|
フィールド名 |
概要 |
フォーマット |
例 |
|---|---|---|---|
|
StartDateTime |
スケジュールがいつ有効になるかを定義します。 |
はああ、ちっと |
20260220T000000 意味: 2026年2月20日00:00:00 |
|
EndDateTime |
スケジュールの期限を定めています。 |
はああ、ちっと |
99990101 意味: この値はスケジュールが失効しないことを示すために一般的に使われます。 |
|
DaysOfWeek |
タスクを実行する曜日を指定する数値bitmask 。 |
|
127 = 1 + 2 + 4 + 8 + 16 + 32 + 64 意味: この課題は週の毎日実施されます。 |
|
Interval |
タスクがどれくらいの頻度で実行されるかを定義します。 注記 Sitecoreクロック時間の実行ではなくinterval-based pollingを用います。 |
d.HH:MM:SS |
1.02:05:10 意味: この課題は1日2時間5分10秒ごとに行われます。 |
Sitecoreがタスクの実行タイミングを判定する方法
Sitecoreはcronスタイル(絶対時間型)スケジューラを使用していません。代わりに、interval-based executionを使用します。
スケジューリングの手順は以下の通りです。
-
システムは定期的に(デフォルトは10分ごと)データベースをポーリングします。
-
スケジュールが提出される場合は、対応するコマンドが実行されます。
-
タスクは正確な1分で起動できません。
Last runフィールドに値がある場合、次の実行はそのタイムスタンプと設定されたIntervalから計算されます。
繰り返し行うタスクを修正または再スケジュールする際:
-
システムは自動的にこのLast runフィールドをリセットdoes not。
-
現在のLast run値と新たにスケジュールされたStartDateTimeの間の時間がIntervalより短い場合は、再スケジュール後の最初の実行はスキップされます。
新たに設定された開始時刻での実行を確保するために:
Last run畑をクリアしなければならない。
スケジュールされたタスクを作成する
次の手順を使ってスケジュールされたタスクを作成します。
-
タスクコードを書く
自動化したいロジックを含むクラスを作成します。
簡単な例:
パラメータ付きの例:
-
コマンドアイテムを作成する
新しいCommandアイテムを作成する:
-
Path - /sitecore/system/Tasks/Commands/
-
Template - /sitecore/templates/System/Tasks/Command - {58119A3E-560E-4DA6-97C6-1ACE8A5B1219}
フィールドの設定:
-
Type - Namespace.ClassName, Assembly
-
Method - Execute
-
-
スケジュール項目を作成する
以下の詳細で新しいScheduleアイテムを作成しましょう:
-
Path - /sitecore/system/Tasks/Schedules/
-
Template - /sitecore/templates/System/Tasks/Schedule - {70244923-FA84-477C-8CBD-62F39642C42B}
フィールドの設定:
-
Command - 新しいCommandアイテムへのリンク。
-
Schedule - タイミングを定義する文字列。
-
Items - オプションクエリ
-
Async - バックグラウンド実行が取得された場合に有効化します。
-
タスク実行の検証
スケジュールされたタスクが実行されたかどうかは以下の方法で確認できます:
-
Last runフィールドのチェック
最新のタイムスタンプが更新されているか必ず確認してください。
-
ログのレビュー
タスク実行のエントリー SitecoreAIログを確認しましょう。以下のようなエントリーを探してください: