bunqueue v2.7.8
blog · release
bunqueue v2.7.8
Fixes 2 bugs. cleanAsync() silently returned [] for completed/failed/wait (Issue #84), cleanQueue() only handled 'waiting' and 'delayed' state filters; all other states fell through to a no-op, leaving job data in SQLite.
To install bunqueue v2.7.8
Section titled “To install bunqueue v2.7.8”bun add bunqueue@2.7.8npm install bunqueue@2.7.8To upgrade bunqueue
Section titled “To upgrade bunqueue”bun add bunqueue@latestChanges
Section titled “Changes”cleanAsync('active')is intentionally unsupported: cleaning in-flight jobs races with the worker’s ack path and leaks concurrency/uniqueKey/groupId slots. Usefail(jobId)orcancelJob(jobId)to terminate an active job safely.
Bugfixes
Section titled “Bugfixes”cleanAsync()silently returned[]forcompleted/failed/wait(Issue #84),cleanQueue()only handled'waiting'and'delayed'state filters; all other states fell through to a no-op, leaving job data in SQLite. Rewritten to supportcompleted,failed, and waiting-like states (wait/waiting/delayed/prioritized/paused), with per-state helpers (cleanWaitingLike,cleanCompleted,cleanFailed) that remove entries fromjobIndex,completedJobs/completedJobsData, DLQ,jobResults/jobLogs, and SQLite (jobs+dlqtables).'wait'is now normalized to'waiting'(BullMQ alias).cleanAsync()SQLite write failures corrupted state:storage.deleteJob/deleteDlqEntryinside cleanup loops now use swallow-and-continue wrappers so one SQLite error (e.g.SQLITE_FULL) does not leave the in-memory state inconsistent with disk.
- 4 new regression tests in
test/client-queue-operations.test.ts(completed cleanup, failed cleanup,'wait'alias, grace-period honored for completed).
Thanks to 1 contributor!
Section titled “Thanks to 1 contributor!”← bunqueue v2.7.7 · Release on GitHub · Commits since v2.7.7 · Full changelog · All posts