Changed
- The
BatchCompleter
that marks jobs as completed can now batch database updates for all states of jobs that have finished execution. Prior to this change, onlycompleted
jobs were batched into a singleUPDATE
call, while jobs moving to any other state used a singleUPDATE
per job. This change should significantly reduce database and pool contention on high volume system when jobs get retried, snoozed, cancelled, or discarded following execution. PR #617.
Fixed
- Unique job changes from v0.12.0 / PR #590 introduced a bug with scheduled or retryable unique jobs where they could be considered in conflict with themselves and moved to
discarded
by mistake. There was also a possibility of a broken job scheduler if duplicateretryable
unique jobs were attempted to be scheduled at the same time. The job scheduling query was corrected to address these issues along with missing test coverage. PR #619.