Added
- Added
rivertype.HookMetricEmitfor receiving metrics emitted by River. Initial metrics report the duration of successful job fetches withJobGetAvailableDurationMetricand the number of jobs fetched withJobGetAvailableCountMetric. PR #1285. - The
riversqlitedriver is now tested against Turso, an in-process SQLite-compatible database written in Rust. PR #1311.
Changed
- Added
Config.Pluginsfor extensions that should be installed as both hooks and middleware.Config.HooksandConfig.Middlewareremain available for hook-only and middleware-only registration. PR #1284. - Reduce producer keep alive interval from 1 minute to 30 seconds. PR #1319.
Fixed
- Guard against empty job slice returned by
JobSetStateIfRunningManywhen a job has been deleted mid-run. PR #1308. - Fixed
JobRescuerpagination so a full batch of running jobs with disabled or longer worker-specific timeouts can't prevent later stuck jobs from being rescued. PR #1318. - If a job fails to unmarshal from JSON during job rescue or job execution, back off using the retry schedule and eventually discard it, similar to any other error that might occur. PR #1324.
- Fixed
JobListOrderByFinalizedAtvalidation so finalized states are accepted while non-finalized states are rejected. PR #1327.