Add GoodJob gem.

This is the first step towards replacing DelayedJob with GoodJob. Compared to
DelayedJob:

* GoodJob supports Rails 7 (DelayedJob is currently a blocker for Rails 7
  because it has a version bound on ActiveRecord <6.2).
* GoodJob has a builtin admin dashboard.
* GoodJob supports threaded job workers.
* GoodJob supports scheduled cronjobs.
* GoodJob supports healthchecks for workers.
* GoodJob uses Postgres notifications instead of polling to pick up new
  jobs. This allows jobs to be picked up faster and scales better with
  large numbers of workers.

https://github.com/bensheldon/good_job
This commit is contained in:
evazion
2022-01-01 16:43:13 -06:00
parent 370ed32426
commit c06bfa64f5
4 changed files with 162 additions and 1 deletions

View File

@@ -165,6 +165,8 @@ GEM
e2mmap (0.1.0)
ed25519 (1.2.4)
erubi (1.10.0)
et-orbi (1.2.6)
tzinfo
factory_bot (6.2.0)
activesupport (>= 5.0.0)
faraday (1.8.0)
@@ -192,10 +194,22 @@ GEM
ffi (>= 1.0.0)
rake
flamegraph (0.9.5)
fugit (1.5.2)
et-orbi (~> 1.1, >= 1.1.8)
raabro (~> 1.4)
get_process_mem (0.2.7)
ffi (~> 1.0)
globalid (1.0.0)
activesupport (>= 5.0)
good_job (2.8.0)
activejob (>= 5.2.0)
activerecord (>= 5.2.0)
concurrent-ruby (>= 1.0.2)
fugit (>= 1.1)
railties (>= 5.2.0)
thor (>= 0.14.1)
webrick (>= 1.3)
zeitwerk (>= 2.0)
google-apis-bigquery_v2 (0.22.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.1)
@@ -332,6 +346,7 @@ GEM
puma (>= 2.7)
pundit (2.1.1)
activesupport (>= 3.0.0)
raabro (1.4.0)
racc (1.6.0)
rack (2.2.3)
rack-contrib (2.3.0)
@@ -533,6 +548,7 @@ DEPENDENCIES
ffaker
ffi
flamegraph
good_job
google-cloud-bigquery
google-cloud-storage
hsluv