Getting Started
CLI
migrate, verify, worker, auth, and taskq-bench.
Entry points from outlabs-taskq:
| Command | Purpose |
|---|---|
taskq migrate <dsn> | Apply packaged migrations under an advisory lock |
taskq verify <dsn> | Read-only manifest drift check |
taskq worker … | Run a DB-direct or HTTP worker |
taskq auth sync-permissions … | Report/apply OutLabs IAM rows ([outlabs] required) |
taskq-bench run <scenario> --dsn … | Report-only benchmarks |
Worker
Configure exactly one transport: --dsn or --http-base-url.
taskq worker \
--dsn "$DATABASE_URL" \
--registry myapp.tasks:registry \
--queue mail \
--queue courts \
--environment development \
--concurrency 4 \
--batch 2
HTTP workers (no DB credentials):
taskq worker \
--http-base-url https://api.example.com/taskq \
--registry myapp.tasks:registry \
--queue mail \
--environment staging \
--http-bearer-token "$TOKEN" \
--no-listen
Most knobs also load from TASKQ_* environment variables via WorkerSettings. See Configuration.
HTTP workers cannot use PostgreSQL
LISTEN. Production requires --allow-production (or TASKQ_ALLOW_PRODUCTION=true) when --environment production.Auth provisioning
taskq auth sync-permissions \
--dsn "$AUTH_DATABASE_URL" \
--queue mail \
--queue courts \
--apply
Omit --apply for a dry-run report.