SQL-first
PL/pgSQL functions are the contract. Python, HTTP, and psql are equal clients.
Reliable Postgres-native processing
A SQL-first task queue for Python systems, with typed claims and settles, workflows, schedules, and an optional FastAPI facade for credential-free workers.
outlabsTaskq is a SQL-first task queue for Python fleets: claim, fencing, and retry live in PL/pgSQL; the typed client and optional FastAPI facade are transport only.
PL/pgSQL functions are the contract. Python, HTTP, and psql are equal clients.
ok / already_settled / lost — a dropped HTTP response no longer discards finished work.
Credential-free workers. Auth is injected; outlabs-auth is optional.
Rich defaults on the queue row; tiny knobs on the worker process.
Technical surface
FOR UPDATE SKIP LOCKED claims
attempt_id fencing on every settle
Typed enqueue (created / existed)
Snooze and cancel without burning budget
Per-resource concurrency limits
Redrive for failed / poison jobs
from taskq import Task, TaskQ, TaskRegistry
DOUBLE = Task(name="demo.double", queue="demo", …)
registry = TaskRegistry((DOUBLE,))
tq = TaskQ.from_dsn(DATABASE_URL, registry=registry)
result = await tq.enqueue(DOUBLE, {"value": 3})
# result.status in {"created", "existed"}
# taskq worker --dsn … --registry tasks:registry --queue demo Current status
outlabsTaskq is available as a public pre-release. It includes the SQL kernel, typed client, worker and CLI, HTTP facade, follow-ups, workflows, schedules, and optional authentication. Documentation lives at taskq.outlabs.io.
© 2026 OutLabs LLC. All rights reserved.