Honker.Outbox (honker v0.1.4)

Copy Markdown

Transactional side-effect delivery built on a reserved Honker queue.

Outbox rows are just queue jobs under _outbox:<name>, so enqueue/4 and enqueue_tx/5 are atomic with the same database transactions as normal queue operations.

Summary

Functions

Claims and delivers one outbox job. Returns {:ok, true} when a job was processed and {:ok, false} when the queue was empty.

Functions

enqueue(outbox, payload, opts \\ [])

enqueue_tx(outbox, tx, payload, opts \\ [], queue_opts \\ [])

new(db, name, delivery, opts \\ [])

run_once(outbox, worker_id)

Claims and delivers one outbox job. Returns {:ok, true} when a job was processed and {:ok, false} when the queue was empty.