@lucid-softworks/queue-worker
v0.1.0
Published
Lease-based queue workers with heartbeats, retries, and dead lettering.
Maintainers
Readme
@lucid-softworks/queue-worker
A lease-based worker for at-least-once queue processing.
import { QueueWorker } from "@lucid-softworks/queue-worker";
const worker = new QueueWorker(
store,
{
"send-email": async (data, context) => {
await context.heartbeat();
return sendEmail(data);
},
},
{ id: "worker-1" },
);
await worker.runUntilIdle();Jobs are claimed atomically, heartbeats require lease ownership, successful
results are persisted, retryable failures return to waiting, and exhausted
jobs become dead-letter. stop prevents new claims without interrupting
in-flight handlers; resume permits claims again.
