Repository navigation
v3.3.3
What's changed
Documentation only — the last two places in the reference that described safe delivery as covering the hand-off but not the handler:
JobQueueclass remarks — a job in flight when the process exits onSIGTERM/SIGINT/SIGABRTwas described as lost. It is not: under safe delivery it stays checked out and is re-run from the start on another worker once this process has left the broker's client list.onPophandler contract — "that attempt is lost — safe delivery guards the hand-off of a job, not its processing" is replaced with what actually happens: the delay the handler would have returned is never applied when the process dies, because the return value is acted on here, but the job itself is re-delivered.
Together with 3.3.2 this completes the correction: the worker key is held until the handler settles, death is detected from the broker's client list on the watcher's next sweep, and safeLockTtl is a processing deadline — the longest a live worker may hold a job before it is reclaimed. Delivery is at-least-once, so handlers must be idempotent.
- What happens to a job if the worker dies while handling it?
JobQueueOptions.safe·safeLockTtl- Measured end to end: Guaranteed delivery, tested with kill -9
No runtime changes.
Full Changelog: v3.3.2...v3.3.3
About
@imqueue/job — Simple job queue. Part of the @imqueue framework for Node.js & TypeScript microservices.
- Docs: https://imqueue.org/
- Guide for AI assistants / LLMs: https://imqueue.org/llms.txt
- Commercial license & support: https://imqueue.com/
npm i @imqueue/job