-
Notifications
You must be signed in to change notification settings - Fork 91
One-shot delayed execution: extend scheduler with single-fire tasks #560
Copy link
Copy link
Open
Labels
agentchatChat SDK changesChat SDK changesdomain:automationScheduler, autonomy, RAG, web search, watchers, researchScheduler, autonomy, RAG, web search, watchers, researchenhancementNew feature or requestNew feature or requestp1medium prioritymedium prioritytrack:consumer-appHermes-competitor consumer product — mobile-first, voice + messaging + memory + skillsHermes-competitor consumer product — mobile-first, voice + messaging + memory + skills
Metadata
Metadata
Assignees
Labels
agentchatChat SDK changesChat SDK changesdomain:automationScheduler, autonomy, RAG, web search, watchers, researchScheduler, autonomy, RAG, web search, watchers, researchenhancementNew feature or requestNew feature or requestp1medium prioritymedium prioritytrack:consumer-appHermes-competitor consumer product — mobile-first, voice + messaging + memory + skillsHermes-competitor consumer product — mobile-first, voice + messaging + memory + skills
Summary
Extend the task scheduler (#550) to support one-shot delayed execution — tasks that fire once after a delay and then auto-purge. Used by the autonomous loop to schedule follow-ups.
Parent issue: #555 (Autonomous mode)
New Interval Types
"once_after_30m"— run once after 30 minutes"once_after_2h"— run once after 2 hours"once_at_9am"— run once at a specific time"once_at_2026-03-20T14:00"— run once at exact datetimeBehavior
completedscheduled_taskstable after 24hImplementation
Extend
parse_interval()inscheduler.pyto recognizeonce_after_*andonce_at_*patterns. After execution, mark as completed instead of rescheduling.Add purge job: on scheduler startup and every hour, delete completed one-shots older than 24h.
Dependencies
Acceptance Criteria
once_after_*intervals parsed correctlyonce_at_*intervals parsed correctly (time and datetime)