Hand each task to exactly one worker.
teleon.dev/docs/queues keeps every queue in partitioned tables. A worker claims a task with a lease and a fencing token, finishes it, and the result travels along the queue graph as the next task.
| Task | Queue | State | Token |
|---|---|---|---|
| t_5519 | aq16 | Done | 1177 |
| t_5520 | aq17 | Leased | 1179 |
| t_5521 | aq17 | Leased | 1180 |
| t_5522 | aq18 | Waiting | |
| t_5523 | aq11 | Held |
Each claim raises the fencing token. A late submit from an older lease is set aside and the newer one stands.
What it does
One claim per task
Row locks with skip-locked claims give each task to a single worker at a time.
Safe retries
A fencing token and an idempotency ledger make a repeated submit land exactly once.
Batons along the graph
When a task completes, the queue graph turns its output into the next queue's input.
The contract
Claims are leased and fenced; submits are idempotent; finished work passes its baton forward.
/v1/stream over server-sent eventsservice_atomic_queue_request/v1teleon_parent_preserving_supervisor/v1
Endpoints
| Method | Path | Access | What it does | Status |
|---|---|---|---|---|
POST | /v1/claim | RING-2 | Claim the next task in a queue | |
POST | /v1/submit | RING-2 | Submit a result with its fencing token | |
GET | /v1/stream | RING-2 | Receive claimable tasks as server-sent events | Listed |
GET | /v1/queues | RING-3 | List queues with depth and oldest task age |
Listed paths appear in the service’s published files today. In the one-host plan every path here is served under api.teleon.dev/v1/queues.
How it connects
For agents
Give your agent the read-only guide first. It reports back before any write.
Words on this page
- Lease
- A time-limited claim on a task. The worker holding the lease finishes it or the lease expires and the task returns.
- Fencing token
- A number that grows with every new lease, so a write from an older lease holder is refused safely.
- Idempotent
- Safe to repeat: running the same request twice leaves the same result as running it once.
- Baton
- The hand-off between queues: when one step finishes, its output becomes the next queue's input row.