Schedules¶
Customers can schedule semantic instance actions — never shell, SSH or hypervisor commands. Schedules are timezone-aware and DST-safe.
API-only in this build
Schedules are implemented at the Client API level
(GET/POST/DELETE /api/client/cloud/{instance}/schedules). There is no
dedicated customer page for schedules in this build; use the API or an
operator tool.
Model¶
InstanceSchedule— name, frequency (DAILY/WEEKLY/MONTHLY/CUSTOM), timezone,run_at_time(HH:MM), weekdays / day-of-month / cron, enabled, missed-run policy,next_run_at.InstanceScheduleTask— ordered tasks withposition,delay_secondsand a semanticaction.InstanceScheduleRun— one execution record; unique on(schedule_id, scheduled_for)for idempotency.
Allowed actions¶
START, STOP, RESTART, POWER_OFF, BACKUP, SNAPSHOT. There is no
shell/SSH action by design.
Guarantees¶
- DST-safe — occurrences are evaluated in the schedule's timezone.
- Idempotent — a duplicate dispatch for the same slot is a no-op, guarded by a distributed lock and the unique slot.
- Respects locks — a schedule never runs while a mutation lock is held; the
run is recorded
SKIPPEDwithinstance_locked. - Missed runs —
SKIPorRUN_ONCE_AFTER_RECOVERY. - License lock — when the license is unusable the run is skipped, never trapped.
API¶
| Method | Path |
|---|---|
GET / POST |
/api/client/cloud/{cloudInstance}/schedules |
GET |
/api/client/cloud/{cloudInstance}/schedules/runs |
DELETE |
/api/client/cloud/{cloudInstance}/schedules/{scheduleUuid} |
Error codes¶
SCHEDULE_ACTION_INVALID, SCHEDULE_CRON_INVALID, SCHEDULE_TIMEZONE_INVALID,
SCHEDULE_TIME_INVALID, SCHEDULE_DAYS_REQUIRED, SCHEDULE_TASK_FAILED,
SCHEDULE_LOCKED.
Related¶
- Startup scripts
- Troubleshooting: scheduler
PC-SCH-###in the error reference