Added
- Periodic jobs with IDs may now be removed by ID using the new
PeriodicJobBundle.RemoveByIDandPeriodicJobBundle.RemoveManyByID. PR #1071.
Changed
- Decrease
serviceutil.MaxAttemptsBeforeResetDefaultfrom 10 to 7, lowering the effective limit on most internal exponential backoffs from ~512 seconds to 64 seconds. Further lowered the leader elector's keep leadership backoff interval to cap out at 4 seconds since leadership without a successful heartbeat will be lost soon after that anyway. PR #1079.
Fixed
- Fix snoozed events emitted from
rivertest.Workerwhen snooze duration is zero seconds. PR #1057. - Rollbacks now use an uncancelled context so as to not leave transactions in an ambiguous state if a transaction in them fails due to context cancellation. PR #1062.
- Removing periodic jobs with IDs assigned also remove them from ID map. PR #1070.
- Clear periodic jobs also fully clears all those assigned with an ID. PR #1083.
river:"unique"annotations on substructs withinJobArgsstructs are now factored into uniquenessByArgscalculations. PR #1076.- Stop subservices and embedded
baseservice.Serviceon error in the event of a periodic job enqueuer start error. PR #1081.