honker (Ruby)
Ruby binding for Honker: durable queues, streams, pub/sub, and time-trigger scheduling on SQLite.
Full docs:
Install
gem "honker"
You also need the Honker SQLite extension from the main repo.
Quick start
require "honker"
db = Honker::Database.new("app.db", extension_path: "./libhonker_ext.dylib")
q = db.queue("emails")
q.enqueue({to: "alice@example.com"})
if (job = q.claim_one("worker-1"))
send_email(job.payload)
job.ack
end
Delayed jobs use run_at::
q.enqueue({to: "later@example.com"}, run_at: Time.now.to_i + 10)
Recurring schedules use schedule::
sched = db.scheduler
sched.add(name: "fast", queue: "emails", schedule: "@every 1s", payload: {kind: "tick"})
Supported schedule forms:
0 3 * * **/2 * * * * *@every 1s
schedule: is the canonical recurring name. cron: still works as a compatibility alias.