bunqueue v2.7.10
blog · release
bunqueue v2.7.10
Fixes 1 bug and ships 1 addition. clean() left orphan rows in job_results table (Issue #84, follow-up from @jdorner), storage.deleteJob() executed only DELETE FROM jobs, so cleaned completed jobs' result rows persisted forever in…
To install bunqueue v2.7.10
Section titled “To install bunqueue v2.7.10”bun add bunqueue@2.7.10npm install bunqueue@2.7.10To upgrade bunqueue
Section titled “To upgrade bunqueue”bun add bunqueue@latestWhat’s new
Section titled “What’s new”deleteJobResultprepared statement insrc/infrastructure/persistence/statements.ts.
Bugfixes
Section titled “Bugfixes”clean()left orphan rows injob_resultstable (Issue #84, follow-up from @jdorner),storage.deleteJob()executed onlyDELETE FROM jobs, so cleaned completed jobs’ result rows persisted forever injob_results.deleteJob()now runs bothDELETE FROM jobsandDELETE FROM job_results WHERE job_id = ?inside a singledb.transaction(...)block, atomically cascading the removal. DLQ is intentionally not cascaded here:moveFailedJobToDlq()relies onsaveDlqEntry+deleteJobpreserving the DLQ row. Callers that clean DLQ (e.g.cleanFailed) explicitly calldeleteDlqEntrybeforehand.
- 2 regression tests in
test/client-queue-operations.test.ts: clean(‘completed’) leaves no orphanjob_resultsrows; clean(‘failed’) leaves no orphan rows in jobs/dlq/job_results. - Updated
test/sqlite-serializer.test.tsstatement count (13 → 14).
Thanks to 1 contributor!
Section titled “Thanks to 1 contributor!”← bunqueue v2.7.9 · Release on GitHub · Commits since v2.7.9 · Full changelog · All posts