Skip to content
Tech News
← Back to articles

Honker – Durable queues, streams, pub/sub, and cron scheduler in a SQLite file

read original get SQLite Queue Management Tool → more articles
Why This Matters

Honker introduces a novel way to embed durable pub/sub, task queues, and event streams directly within SQLite databases, eliminating the need for separate brokers and reducing operational complexity. Its cross-language support and atomic transaction capabilities make it a practical choice for real-world applications leveraging SQLite as a primary datastore. This development signals a shift towards more integrated, lightweight, and efficient data workflows in the tech industry.

Key Takeaways

honker adds Postgres-style NOTIFY / LISTEN semantics to SQLite, with a durable pub/sub, task queue, and event streams on the side, without client polling or a daemon/broker. Cross-process wake latency is ~0.7 ms p50 on an M-series laptop.

In its basic form it’s a plain SQLite loadable extension, so any language that can SELECT load_extension('honker_ext') gets the same queue, streams, and notifications on the same file. Bindings for Python, Node, Rust, Go, Ruby, Bun, and Elixir share one on-disk format.

SQLite is backing real work now — Bluesky’s PDS, Fly’s LiteFS, Turso, weekend projects that somehow ended up in production. Once real work flows through a SQLite-backed app, you need a queue. The usual answer is “add Redis + Celery.” That works, but introduces a second datastore with its own backup story, a dual-write problem between your business table and the queue, and the operational overhead of running a broker.

honker takes the approach that if SQLite is the primary datastore, the queue should live in the same file. That means INSERT INTO orders and queue.enqueue(...) commit in the same transaction. Rollback drops both. The queue is just rows in a table with a partial index.

Enqueue atomically with a business write, then consume. Same .db file, same on-disk format, seven languages.

Python

Node

Rust

Go

Ruby

... continue reading