Skip to content

Language guides

Every Honker binding is a first-class binding over the same SQLite layout. Pick your runtime for package names, extension loading notes, watcher-backend selection, transactional outbox usage, and ORM integration.

All bindings share these rules:

  • Use a file-backed SQLite database, not :memory:, when testing worker or listener behavior.
  • Keep business writes and Honker calls in the same transaction when you need atomic enqueue, publish, notify, or outbox behavior.
  • Use a separate worker process for production queue and outbox delivery.
  • If your ORM owns the connection, load the Honker extension there and call honker_* SQL functions inside the ORM transaction.
  • watcher_backend / watcherBackend accepts poll, polling, kernel, kernel-watcher, shm, and shm-fast-path. Explicit experimental backend requests fail rather than silently falling back.

The detailed ORM recipes still live under Using with an ORM. These language pages include the short version so each binding doc stands on its own.