kumiko consumer
kumiko consumer <subcommand> [<name>]Event consumers are projections that read the event store and write
into a read-side (DB, search index, etc.). When one gets stuck on a
bad event, kumiko consumer is the recovery surface.
Subcommands
Section titled “Subcommands”| Subcommand | What it does |
|---|---|
list | All registered consumers + their state |
status <name> | Detail state for one consumer |
restart <name> | Release lock + retry |
disable <name> | Pause the consumer |
enable <name> | Reactivate |
skip <name> | Skip the currently-stuck event (advances cursor) |
Typical recovery flow
Section titled “Typical recovery flow”kumiko consumer list# poisoned: notification:in-app cursor=42 attempts=5 error=…
kumiko consumer status notification:in-app# shows the full last error
kumiko consumer restart notification:in-app# … if it just retries the same poison and fails again:kumiko consumer skip notification:in-app# advances cursor past the bad eventskip is the nuclear option — only use it when the event is genuinely
unprocessable (corrupt payload, dropped entity reference). For
transient failures (network, rate limit), restart is the right move.
Connection
Section titled “Connection”kumiko consumer reads kumiko.config.ts from the current directory
and connects via DATABASE_URL. Run it from inside an app workspace.
See also
Section titled “See also”kumiko events— prune events the consumers have already processedkumiko project— manage projections (a superset of consumers)