Scheduler

目的

リソース割り当てと時間最適化。Scheduler は、可用性、近接性、能力、ポリシー制約に基づいてリソースにタスクを割り当てます。さまざまなアプリケーションパターンに対応する複数のスケジューリングモードをサポートします。

責務

  • Planner からのタスクを特定のデバイス/リソースに割り当て

  • 時間、距離、負荷分散の最適化

  • 単発、定期、条件付きスケジューリングのサポート

  • スケジューリングの優先事項と制約について Policy Service に問い合わせ

  • リソースの可用性と能力について DeviceAdmin に問い合わせ

スケジューリングモード

モード

トリガー

ユースケース

アプリ例

単発

注文/イベントの発生

1 回実行

WES(オーダー駆動)

定期実行(cron)

時刻スケジュール

周期実行

ClearJanitor(夜間清掃)

条件付き

イベント条件の充足

リアクティブ実行

将来(センサー閾値)

主要エンティティ

エンティティ

説明

割り当て

特定の時刻に特定のリソースに紐付けられたタスク

スケジュール

定期パターン(cron 式 + タスクテンプレート)

ResourceSlot

リソースの可用性を示す時間枠

API サーフェス

操作

説明

POST /assignments

単発タスクの割り当てを作成

POST /schedules

定期スケジュールを作成

GET /schedules

スケジュールを一覧表示

GET /assignments?resource=&status=

割り当てを照会

DELETE /schedules/{id}

定期スケジュールをキャンセル

依存関係

サービス

関係

Planner

割り当て対象のタスクを受信

DeviceAdmin

リソースの能力と可用性を照会

Marie

近接性に基づくリソース選択

Policy Service

スケジューリングの優先度、時間帯制限

利用者

コンシューマー

用途

Execution Manager

実行する割り当てを受け取る

アプリケーション

スケジュールの作成と管理