Scheduled tasks
Give an agent a job and a time. A task starts a /goal or /ultracode run on a schedule. It needs a paid plan.
Diagram as text
- You create a task: a name, a type (goal or ultracode), a schedule as a preset or a cron expression, and a timezone. Optionally a budget per run and a maximum number of runs.
- The worker checks every 30 seconds which tasks are due.
- A task is switched off instead of run if it reached its maximum runs or its end date, or if you no longer hold the permission its type needs.
- Otherwise a job is queued. A budget you set becomes its spend cap.
- The run appears under Jobs with its log and cost.
- The next run time is computed in the task's timezone.
| Job | Time |
|---|---|
| A build | Nightly |
| A check | Daily |
| A summary | Weekly |
Your timezone
Each task has its own timezone, and the schedule follows it, not the server's. The form starts with Europe/Zurich; change it to yours. Daylight saving is handled. Pick a preset (daily at 03:00, daily at 08:00, every hour, Mondays at 03:00) or type a five-field cron expression, and the form shows the next three run times before you save.
The cap, if you set one
A schedule has no spend cap by default. You can set a budget on the task; a run then stops at it. Without one, a run uses credit until it ends or your credit reaches zero. See Limits.
The log
Every run leaves a log you can read in the morning: it is a job under Jobs, with its trace and cost. If the worker was down while a run came due, the task fires once when it is back, not once for every missed time. A task stops by itself at its maximum number of runs.