ServicesTask Service
Scheduler Registration and Trigger Flow
when-based registration, re-check on trigger, serial guard, and one-shot behavior
Scheduler Registration and Trigger Flow
Registration rules
On scheduler start/reload, for each enabled task:
when=@manual: no job registrationwhen=cron: registertask:<taskId>when=time:...: registertask-time:<taskId>minute poller
Re-check before execute
At trigger time, runtime re-reads latest task.md and verifies:
- status is still
enabled whenstill matches current trigger mode
One-shot behavior
After successful when=time:... execution:
status -> pausedwhen -> @manual
Serial guard
Only one in-flight run per taskId:
- overlap trigger is skipped
- log:
Task skipped (already running)