Interval task
An interval task is a scheduled action that fires every N minutes/hours/days regardless of clock time. Unlike a cron task (which fires on specific clock times), an interval task fires on relative time from the last execution.
Why it matters
The two basic shapes of recurring scheduling are clock-based (cron) and interval-based. Cron means "every weekday at 7am." Interval means "every 4 hours starting now." Both are useful; the right pick depends on the use case.
Interval tasks fit:
- Health checks ("ping me every 6 hours that the server is up").
- Polling external systems on a relative cadence ("check stock price every 15 minutes during market hours").
- Reminders relative to an event ("remind me 30 minutes after each meeting ends").
The interval pattern matters because users often think relative-time, not clock-time. "Every two weeks" usually means "from now, two weeks at a time," not "every other Sunday at midnight UTC." Forcing every recurrence into cron expressions adds cognitive friction the user does not need.
Production-quality interval scheduling tracks the last-fired-at timestamp and fires when (now - last_fired) > interval. If the system is down for a window, the task fires on next opportunity, not all of the missed firings at once.
How Ajeris handles this
Ajeris's scheduled task primitive supports interval tasks as one of three modes (cron, interval, one-shot). The user says "every 4 hours" or "every 3 days" and the agent saves the interval. The heartbeat scheduler fires each task at the right relative time.
Interval tasks deliver to any channel and use the same agent loop as on-demand interactions; the agent has full reasoning capability when the interval fires, not just a pre-set message.