PoietesCMD

Documentation

Schedules

A schedule creates a task on a recurring basis. The scheduler runs inside the worker process and keeps all of its state in PostgreSQL. It does not depend on a browser tab, and schedule changes survive restarts.

Creating one

A schedule has the same settings as a task (instruction, connection, model, tools, limits, memory, project) plus:

  • Recurrence: every N minutes or hours, hourly at a minute, daily at a time, weekly on chosen days, or a five-field cron expression.
  • Time zone: an IANA name such as Asia/Jakarta. "Daily at 09:00" means 09:00 in that zone, including across daylight-saving changes.

The form shows the next five runs before you save. The schedule list shows the next run of each schedule.

Tasks created by a schedule cannot propose memory entries, and a tool with policy ask will stop them for approval like any other task, so prefer auto tools with a narrow allowed-domain list for unattended runs.

Overlap

If the previous task from the same schedule is still open (queued, running, paused, waiting for approval or review) when the next run is due, that run is skipped and recorded as skipped_overlap. Runs never pile up behind a slow or blocked task.

Missed runs

When the worker was not running at the scheduled time:

PolicyAfter downtime
Start one catch-up run (default)One task is started, however many runs were due. The run record says how many were missed.
Skip the missed runsNothing is started. The missed occurrence is recorded as skipped_missed.

Either way there is never a burst of catch-up runs. A run counts as missed when it is more than two minutes late or when a later run has also passed.

Pausing a schedule clears its next run. Resuming or changing the timing schedules from now; nothing is backfilled.

Duplicates

Each occurrence is recorded once under a unique key of schedule and scheduled time, and the scheduler takes a row lock on the schedule while it handles it. With several workers running the scheduler, an occurrence still starts at most one task.

History

Each schedule shows its previous runs: when it was due, what happened (started, skipped_overlap, skipped_missed, error) and the task it created. error means the task could not be created, for example because the connection was removed.

NextSecurity model