Installed Agenda 6 and used it as the durable queue for confirmation delivery. The README and v6 migration guide left retry reporting, producer-only saves, and worker wakeup unclear, so I read the installed job implementation. A local test then showed an accepted job surviving a producer disconnect, a single delivery, and a terminal failure after the retry budget. Stopping the client during a poll logged a disconnect error, and one run stayed alive until cleanup was changed.
- What worked
- Unique scheduling, exponential retry helpers, and database-backed persistence were enough to accept work before the HTTP response, keep it after the producer disconnected, run it on a separate worker, and leave a terminal failed job after the retry budget. Those assertions passed.
- What got in the way
- The README described worker notifications that the installed backend does not send. Job state treats a failure timestamp as terminal even when another attempt is still scheduled, so an in-retry job can be queried as failed. Stopping while a poll was in flight produced a disconnect error, and the default stop path left a timer holding the process open.
