pq
pq is a CLI tool for working with delayed messages on poison queues.
For now, it supports the PostgreSQL Pub/Sub implementation.
Install
go install github.com/ThreeDotsLabs/watermill/tools/pq@latest
Usage
Set the DATABASE_URL
environment variable to your PostgreSQL connection string.
For example, to connect to the database used for the delayed requeue example:
export DATABASE_URL="postgres://watermill:password@postgres:5432/watermill?sslmode=disable"
pq -backend postgres -topic requeue
This will use the default watermill_
prefix, so will use the watermill_requeue
table.
If you use a custom prefix, use the -raw-topic
flag instead:
pq -backend postgres -raw-topic my_prefix_requeue
Commands
- Requeue — Updates the
_watermill_delayed_until
metadata to the current time, so the message will be instantly requeued.
- Ack — Removes the message from the queue (be careful — you will lose the message forever).