Loading...
Loading...
Honker is an experimental open-source SQLite extension and set of language bindings that adds Postgres-style NOTIFY/LISTEN behavior to SQLite, positioning the embedded database as a lightweight messaging hub. By watching SQLite’s WAL file for changes, it can push cross-process notifications with single-digit millisecond latency, reducing the need for polling or external brokers like Redis. Beyond ephemeral pub/sub, Honker also offers durable primitives—work queues with retries, delayed jobs, dead-lettering, per-consumer event streams, locks, rate limits, and cron-like scheduling—while keeping all state in the same .db file and allowing atomic commits alongside application transactions. It targets SQLite-first deployments and is currently alpha.
Simon Willison highlights russellromney/honker, a Rust SQLite extension that brings Postgres-like NOTIFY/LISTEN semantics and transactional outbox patterns to SQLite. Honker offers language bindings (including Python) enabling durable queues and Kafka-style streams with transactional publish, plus 20+ custom SQL functions such as notify() and honker_stream_read_since(). It requires WAL mode and uses lightweight polling of the .db-wal file for near-real-time workers. The project makes it easy to enqueue/consume jobs and publish events within the same SQLite transaction, reducing complexity for small-to-medium apps that need reliable messaging without deploying a separate broker. This adapts established patterns from Postgres to SQLite, useful for embedded or single-file database architectures.
Honker is an experimental SQLite extension and set of language bindings that bring PostgreSQL-style NOTIFY/LISTEN semantics, durable pub/sub, and a built-in task queue to a single .db file without a separate broker. Implemented as a Rust crate and a loadable SQLite extension with bindings for Python, Node/Bun, Rust, Go, Ruby, Elixir, and C++, Honker watches SQLite WAL changes to deliver cross-process notifications with single-digit millisecond latency and supports atomic enqueue with business writes, retries, delayed jobs, rate-limiting, leader election for scheduled tasks, durable streams, and optional task result storage. The project aims to avoid the operational complexity of adding Redis/Celery by keeping queues as rows in SQLite and notes that API is experimental. It omits multi-writer replication and complex workflow orchestration.
Honker is a new SQLite extension and multi-language binding that brings Postgres-style NOTIFY/LISTEN semantics to SQLite, providing durable pub/sub, work queues, and event streams without a separate broker. Implemented as a Rust crate and a loadable SQLite extension with Python, Node, Bun, Ruby, Go, Elixir, C++ and Rust bindings, Honker uses WAL-file event notifications to deliver single-digit millisecond cross-process messages and avoid polling. It supports atomic enqueue with business transactions, retries, delayed jobs, dead-lettering, named locks, rate limits, cron-style scheduling, and optional task result storage. The project targets app authors who use SQLite as the primary datastore and want embedded queueing without Redis/Celery overhead; it’s experimental and API may change.
Developer Russell Romney released Honker, an open-source library that implements Postgres-style NOTIFY/LISTEN semantics and higher-level messaging primitives for SQLite. Honker watches the SQLite WAL file (using stat(2)) to deliver cross-process push notifications with single-digit millisecond latency, avoiding a separate daemon or broker. It provides ephemeral pub/sub like pg_notify, durable work queues with retries and dead-letter handling (akin to pg-boss/Oban), and per-consumer event streams; all messaging state lives as rows in the existing .db file and can commit atomically with business writes. Targeted at high-traffic Framework+SQLite+Litestream deployments, Honker aims to simplify adding low-latency interprocess messaging to SQLite-backed apps. The project is alpha software.