v3.0.0
GoodJob version 3.0.0 has been released 🎉 Review the Changelog for more details.
GoodJob is a multithreaded, Postgres-based, ActiveJob backend for Ruby on Rails. GoodJob is simple to use, safe, performant, and builds on top of ActiveJob, including a management dashboard, cron-like scheduling, and job concurrency controls,
How to upgrade
GoodJob v3 is operationally identical to v2; upgrading to GoodJob v3 should be simple. If you are already using >= v2.9+
no other changes are necessary.
- Upgrade to
v2.99.x
, following the minor version upgrade process, running any remaining database migrations (rails g good_job:update
) and addressing deprecation warnings. - Upgrade from
v2.99.x
tov3.x
Notable changes
- Defaults to preserve job records, and automatically delete them after 14 days (details).
- Defaults to discarding failed jobs, instead of immediately retrying them.
:inline
execution mode respects job schedules. Tests can invokeGoodJob.perform_inline
to execute jobs.GoodJob::Adapter
can no longer can be initialized with custom execution options (queues:
,max_threads:
,poll_interval:
).- Renames
GoodJob::ActiveJobJob
toGoodJob::Job
. - Removes support for Rails 5.2.
New features
GoodJob v3.0 does not introduce any new features on its own. Since GoodJob v2.0 was released, notable improvements include:
- Significant improvements to the Dashboard, including:
- Reschedule, discard, retry, and destroy jobs individually, or in bulk
- Full-text search
- Live polling
- Tracking of execution processes
- Internationalization support, currently Spanish, Dutch, and Russian
- Significant data and ergonomic improvements
- HTTP healthcheck/readiness/liveliness probe support
- Automatic cleanup of preserved jobs (previously required usage of a rake task)
- JRuby support for LISTEN/NOTIFY