good_job 3.3.0 → 3.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2225caa419c57cd76c9acba358fa94e2fd2d29c914d25459093a5a65b785087d
4
- data.tar.gz: 2c6af031bb80859108ed847a7d891a2066b06004edb518fa8921b01b3c9b662a
3
+ metadata.gz: cabb124450eb5e88a460635fb4aa70f3e5a53406ded6554bb32018fa2aa890bc
4
+ data.tar.gz: 0d83085806f8a1f30eff6136df4995f7982064b90a497ee56a4f8b9d922f4fbb
5
5
  SHA512:
6
- metadata.gz: 00bfcfcf22a4f3e5138bc2d85a172bbf4c74515c38759af561567c42f5464825fd47aa3f5c369f91196ede2b73211c9e1b3422f5d555bcff439e7fd32fc9db1a
7
- data.tar.gz: cc28292dd555ddd951ab465534302f0775784074e456bb181eb2f5efc07f4281bcd49783fa38e4a205591fb05daa19f88ff013995fe06fe3761e675b1e84e0ba
6
+ metadata.gz: 7f17d4379517d9909ac771c9920b3472b1d5bbb18ce45bd78b160f76eba6b6a1169e6b89ec044cd8f3c5ad93a311be45174bd43b99468c5ff9a5c4bad088263f
7
+ data.tar.gz: 27f6aa3048d4035feb1e55b7cd4a3ba8410deb74ec9268fba23bac9a75c9db26bc3599d1f140bf68182b2f2307183013bc6601927a6eec19cab6051fcf03a927
data/CHANGELOG.md CHANGED
@@ -1,9 +1,40 @@
1
1
  # Changelog
2
2
 
3
+ ## [v3.3.1](https://github.com/bensheldon/good_job/tree/v3.3.1) (2022-07-26)
4
+
5
+ [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.3.0...v3.3.1)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Show basename of proctitle [\#679](https://github.com/bensheldon/good_job/pull/679) ([bkeepers](https://github.com/bkeepers))
10
+
11
+ **Fixed bugs:**
12
+
13
+ - Only count \_active\_ processes in the Navbar [\#680](https://github.com/bensheldon/good_job/pull/680) ([bensheldon](https://github.com/bensheldon))
14
+ - Remove Zeitwerk and use explicit requires to be more like an engine [\#677](https://github.com/bensheldon/good_job/pull/677) ([bensheldon](https://github.com/bensheldon))
15
+
16
+ **Closed issues:**
17
+
18
+ - Dashboard UI Invalid count of running process [\#678](https://github.com/bensheldon/good_job/issues/678)
19
+
20
+ **Merged pull requests:**
21
+
22
+ - Lock to dotenv 2.7.x for Ruby 2.5 compatibility [\#682](https://github.com/bensheldon/good_job/pull/682) ([bensheldon](https://github.com/bensheldon))
23
+ - Create global GoodJob.configuration object [\#681](https://github.com/bensheldon/good_job/pull/681) ([bensheldon](https://github.com/bensheldon))
24
+
3
25
  ## [v3.3.0](https://github.com/bensheldon/good_job/tree/v3.3.0) (2022-07-24)
4
26
 
5
27
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.2.0...v3.3.0)
6
28
 
29
+ **Implemented enhancements:**
30
+
31
+ - Dashboard: Update cron and processes to match jobs listing [\#676](https://github.com/bensheldon/good_job/pull/676) ([bkeepers](https://github.com/bkeepers))
32
+ - Dashboard: improvements to jobs index and show pages [\#672](https://github.com/bensheldon/good_job/pull/672) ([bkeepers](https://github.com/bkeepers))
33
+
34
+ **Fixed bugs:**
35
+
36
+ - Replace "timestamp" column-type in migrations with "datetime" [\#671](https://github.com/bensheldon/good_job/pull/671) ([bensheldon](https://github.com/bensheldon))
37
+
7
38
  **Closed issues:**
8
39
 
9
40
  - Calculating database connections [\#669](https://github.com/bensheldon/good_job/issues/669)
@@ -14,9 +45,6 @@
14
45
 
15
46
  **Merged pull requests:**
16
47
 
17
- - Dashboard: Update cron and processes to match jobs listing [\#676](https://github.com/bensheldon/good_job/pull/676) ([bkeepers](https://github.com/bkeepers))
18
- - Dashboard: improvements to jobs index and show pages [\#672](https://github.com/bensheldon/good_job/pull/672) ([bkeepers](https://github.com/bkeepers))
19
- - Replace "timestamp" column-type in migrations with "datetime" [\#671](https://github.com/bensheldon/good_job/pull/671) ([bensheldon](https://github.com/bensheldon))
20
48
  - Improve Readme description of v3 job preservation defaults [\#670](https://github.com/bensheldon/good_job/pull/670) ([bensheldon](https://github.com/bensheldon))
21
49
  - update Gemfile.lock to latest dependencies [\#647](https://github.com/bensheldon/good_job/pull/647) ([jrochkind](https://github.com/jrochkind))
22
50
 
@@ -24,7 +52,7 @@
24
52
 
25
53
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.1.0...v3.2.0)
26
54
 
27
- **Merged pull requests:**
55
+ **Implemented enhancements:**
28
56
 
29
57
  - Ordered queue handling by workers [\#665](https://github.com/bensheldon/good_job/pull/665) ([jrochkind](https://github.com/jrochkind))
30
58
 
@@ -34,7 +62,9 @@
34
62
 
35
63
  **Implemented enhancements:**
36
64
 
65
+ - Show job/cron/process counts in the Navbar [\#663](https://github.com/bensheldon/good_job/pull/663) ([bensheldon](https://github.com/bensheldon))
37
66
  - Improve Dashboard display of parameters \(CronEntry kwargs; Process configuration; Job and Execution database values\) [\#662](https://github.com/bensheldon/good_job/pull/662) ([bensheldon](https://github.com/bensheldon))
67
+ - Dequeing should be first-in first-out [\#651](https://github.com/bensheldon/good_job/pull/651) ([jrochkind](https://github.com/jrochkind))
38
68
 
39
69
  **Fixed bugs:**
40
70
 
@@ -47,11 +77,6 @@
47
77
  - Cron schedule page in dashboard not showing kwargs [\#608](https://github.com/bensheldon/good_job/issues/608)
48
78
  - Paralelism x database connections [\#569](https://github.com/bensheldon/good_job/issues/569)
49
79
 
50
- **Merged pull requests:**
51
-
52
- - Show job/cron/process counts in the Navbar [\#663](https://github.com/bensheldon/good_job/pull/663) ([bensheldon](https://github.com/bensheldon))
53
- - Dequeing should be first-in first-out [\#651](https://github.com/bensheldon/good_job/pull/651) ([jrochkind](https://github.com/jrochkind))
54
-
55
80
  ## [v3.0.2](https://github.com/bensheldon/good_job/tree/v3.0.2) (2022-07-10)
56
81
 
57
82
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.0.1...v3.0.2)
@@ -81,13 +106,16 @@
81
106
 
82
107
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.0.0...v3.0.1)
83
108
 
109
+ **Fixed bugs:**
110
+
111
+ - Fix `GoodJob.cleanup_preserved_jobs` to use `delete_all` instead of `destroy_all` [\#652](https://github.com/bensheldon/good_job/pull/652) ([bensheldon](https://github.com/bensheldon))
112
+
84
113
  **Closed issues:**
85
114
 
86
115
  - ERROR: relation "good\_jobs" does not exist at character 454 [\#308](https://github.com/bensheldon/good_job/issues/308)
87
116
 
88
117
  **Merged pull requests:**
89
118
 
90
- - Fix `GoodJob.cleanup_preserved_jobs` to use `delete_all` instead of `destroy_all` [\#652](https://github.com/bensheldon/good_job/pull/652) ([bensheldon](https://github.com/bensheldon))
91
119
  - Create codeql-analysis.yml [\#648](https://github.com/bensheldon/good_job/pull/648) ([bensheldon](https://github.com/bensheldon))
92
120
 
93
121
  ## [v3.0.0](https://github.com/bensheldon/good_job/tree/v3.0.0) (2022-06-26)
File without changes
File without changes
File without changes
@@ -13,7 +13,7 @@ module GoodJob # :nodoc:
13
13
  attr_reader :params
14
14
 
15
15
  def self.all(configuration: nil)
16
- configuration ||= GoodJob::Configuration.new({})
16
+ configuration ||= GoodJob.configuration
17
17
  configuration.cron_entries
18
18
  end
19
19
 
File without changes
File without changes
@@ -28,7 +28,7 @@ module GoodJob
28
28
  self.primary_key = 'active_job_id'
29
29
  self.advisory_lockable_column = 'active_job_id'
30
30
 
31
- has_many :executions, -> { order(created_at: :asc) }, class_name: 'GoodJob::Execution', foreign_key: 'active_job_id', inverse_of: :job
31
+ has_many :executions, -> { order(created_at: :asc) }, class_name: 'GoodJob::Execution', foreign_key: 'active_job_id', inverse_of: :job # rubocop:disable Rails/HasManyOrHasOneDependent
32
32
 
33
33
  # Only the most-recent unretried execution represents a "Job"
34
34
  default_scope { where(retried_good_job_id: nil) }
File without changes
@@ -71,5 +71,9 @@ module GoodJob # :nodoc:
71
71
  destroy!
72
72
  advisory_unlock
73
73
  end
74
+
75
+ def basename
76
+ File.basename(state["proctitle"])
77
+ end
74
78
  end
75
79
  end
@@ -25,10 +25,10 @@
25
25
  <div id="<%= dom_id(process) %>" class="<%= dom_class(process) %> list-group-item py-3" role="row">
26
26
  <div class="row align-items-center">
27
27
  <div class="col">
28
- <code class="font-monospace">
28
+ <%= tag.code title: process.state['proctitle'], class: "font-monospace" do %>
29
29
  <span class="text-muted opacity-50">$</span>
30
- <%= process.state["proctitle"] %>
31
- </code>
30
+ <%= process.basename %>
31
+ <% end %>
32
32
  <div>
33
33
  <span class="text-muted small">PID</span>
34
34
  <span class="badge rounded-pill bg-light text-dark"><%= process.state["pid"] %></span>
@@ -24,7 +24,7 @@
24
24
  <li class="nav-item">
25
25
  <%= link_to processes_path, class: ["nav-link", ("active" if controller_name == 'processes')] do %>
26
26
  <%= t(".processes") %>
27
- <% processes_count = GoodJob::Process.count %>
27
+ <% processes_count = GoodJob::Process.active.count %>
28
28
  <span class="badge bg-secondary rounded-pill <%= "bg-danger" if processes_count == 0 %>"><%= processes_count %></span>
29
29
  <% end %>
30
30
  </li>
@@ -10,6 +10,8 @@ module GoodJob
10
10
  # @return [Array<GoodJob::Adapter>, nil]
11
11
  cattr_reader :instances, default: [], instance_reader: false
12
12
 
13
+ attr_reader :execution_mode
14
+
13
15
  # @param execution_mode [Symbol, nil] specifies how and where jobs should be executed. You can also set this with the environment variable +GOOD_JOB_EXECUTION_MODE+.
14
16
  #
15
17
  # - +:inline+ executes jobs immediately in whatever process queued them (usually the web server process). This should only be used in test and development environments.
@@ -25,8 +27,8 @@ module GoodJob
25
27
  # - +production+ and all other environments: +:external+
26
28
  #
27
29
  def initialize(execution_mode: nil)
28
- @configuration = GoodJob::Configuration.new({ execution_mode: execution_mode })
29
- @configuration.validate!
30
+ @execution_mode = (execution_mode || GoodJob.configuration.execution_mode).to_sym
31
+ GoodJob::Configuration.validate_execution_mode(@execution_mode)
30
32
  self.class.instances << self
31
33
 
32
34
  start_async if GoodJob.async_ready?
@@ -82,7 +84,7 @@ module GoodJob
82
84
  # @return [void]
83
85
  def shutdown(timeout: :default)
84
86
  timeout = if timeout == :default
85
- @configuration.shutdown_timeout
87
+ GoodJob.configuration.shutdown_timeout
86
88
  else
87
89
  timeout
88
90
  end
@@ -95,21 +97,21 @@ module GoodJob
95
97
  # Whether in +:async+ execution mode.
96
98
  # @return [Boolean]
97
99
  def execute_async?
98
- @configuration.execution_mode == :async_all ||
99
- (@configuration.execution_mode.in?([:async, :async_server]) && in_server_process?)
100
+ execution_mode == :async_all ||
101
+ (execution_mode.in?([:async, :async_server]) && in_server_process?)
100
102
  end
101
103
 
102
104
  # Whether in +:external+ execution mode.
103
105
  # @return [Boolean]
104
106
  def execute_externally?
105
- @configuration.execution_mode == :external ||
106
- (@configuration.execution_mode.in?([:async, :async_server]) && !in_server_process?)
107
+ execution_mode == :external ||
108
+ (execution_mode.in?([:async, :async_server]) && !in_server_process?)
107
109
  end
108
110
 
109
111
  # Whether in +:inline+ execution mode.
110
112
  # @return [Boolean]
111
113
  def execute_inline?
112
- @configuration.execution_mode == :inline
114
+ execution_mode == :inline
113
115
  end
114
116
 
115
117
  # Start async executors
@@ -118,12 +120,12 @@ module GoodJob
118
120
  return unless execute_async?
119
121
 
120
122
  @notifier = GoodJob::Notifier.new
121
- @poller = GoodJob::Poller.new(poll_interval: @configuration.poll_interval)
122
- @scheduler = GoodJob::Scheduler.from_configuration(@configuration, warm_cache_on_initialize: true)
123
+ @poller = GoodJob::Poller.new(poll_interval: GoodJob.configuration.poll_interval)
124
+ @scheduler = GoodJob::Scheduler.from_configuration(GoodJob.configuration, warm_cache_on_initialize: true)
123
125
  @notifier.recipients << [@scheduler, :create_thread]
124
126
  @poller.recipients << [@scheduler, :create_thread]
125
127
 
126
- @cron_manager = GoodJob::CronManager.new(@configuration.cron_entries, start_on_initialize: true) if @configuration.enable_cron?
128
+ @cron_manager = GoodJob::CronManager.new(GoodJob.configuration.cron_entries, start_on_initialize: true) if GoodJob.configuration.enable_cron?
127
129
 
128
130
  @_async_started = true
129
131
  end
data/lib/good_job/cli.rb CHANGED
@@ -85,7 +85,8 @@ module GoodJob
85
85
 
86
86
  def start
87
87
  set_up_application!
88
- configuration = GoodJob::Configuration.new(options)
88
+ GoodJob.configuration.options.merge!(options.symbolize_keys)
89
+ configuration = GoodJob.configuration
89
90
 
90
91
  Daemon.new(pidfile: configuration.pidfile).daemonize if configuration.daemonize?
91
92
 
@@ -142,10 +143,9 @@ module GoodJob
142
143
 
143
144
  def cleanup_preserved_jobs
144
145
  set_up_application!
146
+ GoodJob.configuration.options.merge!(options.symbolize_keys)
145
147
 
146
- configuration = GoodJob::Configuration.new(options)
147
-
148
- GoodJob.cleanup_preserved_jobs(older_than: configuration.cleanup_preserved_jobs_before_seconds_ago)
148
+ GoodJob.cleanup_preserved_jobs(older_than: GoodJob.configuration.cleanup_preserved_jobs_before_seconds_ago)
149
149
  end
150
150
 
151
151
  no_commands do
@@ -27,7 +27,12 @@ module GoodJob
27
27
  # Default to not running cron
28
28
  DEFAULT_ENABLE_CRON = false
29
29
 
30
+ def self.validate_execution_mode(execution_mode)
31
+ raise ArgumentError, "GoodJob execution mode must be one of #{EXECUTION_MODES.join(', ')}. It was '#{execution_mode}' which is not valid." unless execution_mode.in?(EXECUTION_MODES)
32
+ end
33
+
30
34
  # The options that were explicitly set when initializing +Configuration+.
35
+ # It is safe to modify this hash in place; be sure to symbolize keys.
31
36
  # @return [Hash]
32
37
  attr_reader :options
33
38
 
@@ -47,7 +52,7 @@ module GoodJob
47
52
  end
48
53
 
49
54
  def validate!
50
- raise ArgumentError, "GoodJob execution mode must be one of #{EXECUTION_MODES.join(', ')}. It was '#{execution_mode}' which is not valid." unless execution_mode.in?(EXECUTION_MODES)
55
+ self.class.validate_execution_mode(execution_mode)
51
56
  end
52
57
 
53
58
  # Specifies how and where jobs should be executed. See {Adapter#initialize}
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require 'active_support/core_ext/module/attribute_accessors_per_thread'
3
3
  require 'concurrent/atomic/atomic_boolean'
4
+ require "good_job/notifier/process_registration"
4
5
 
5
6
  module GoodJob # :nodoc:
6
7
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module GoodJob
3
3
  # GoodJob gem version.
4
- VERSION = '3.3.0'
4
+ VERSION = '3.3.1'
5
5
  end
data/lib/good_job.rb CHANGED
@@ -2,19 +2,29 @@
2
2
  require "active_job"
3
3
  require "active_job/queue_adapters"
4
4
 
5
- require "zeitwerk"
6
- zeitwerk_options = Gem::Version.new(Zeitwerk::VERSION) >= Gem::Version.new("2.6.0") ? { warn_on_extra_files: false } : {}
7
- Zeitwerk::Loader.for_gem(**zeitwerk_options).tap do |loader|
8
- loader.inflector.inflect({
9
- "cli" => "CLI",
10
- })
11
- loader.push_dir("#{__dir__}/models")
12
- loader.ignore("#{__dir__}/generators")
13
- loader.setup
14
- end
15
-
5
+ require "good_job/version"
16
6
  require "good_job/engine"
17
7
 
8
+ require "good_job/adapter"
9
+ require "active_job/queue_adapters/good_job_adapter"
10
+ require "good_job/active_job_extensions/concurrency"
11
+
12
+ require "good_job/assignable_connection"
13
+ require "good_job/cleanup_tracker"
14
+ require "good_job/cli"
15
+ require "good_job/configuration"
16
+ require "good_job/cron_manager"
17
+ require 'good_job/current_thread'
18
+ require "good_job/daemon"
19
+ require "good_job/dependencies"
20
+ require "good_job/job_performer"
21
+ require "good_job/log_subscriber"
22
+ require "good_job/multi_scheduler"
23
+ require "good_job/notifier"
24
+ require "good_job/poller"
25
+ require "good_job/probe_server"
26
+ require "good_job/scheduler"
27
+
18
28
  # GoodJob is a multithreaded, Postgres-based, ActiveJob backend for Ruby on Rails.
19
29
  #
20
30
  # +GoodJob+ is the top-level namespace and exposes configuration attributes.
@@ -69,6 +79,12 @@ module GoodJob
69
79
  # @return [Proc, nil]
70
80
  mattr_accessor :on_thread_error, default: nil
71
81
 
82
+ # @!attribute [rw] configuration
83
+ # @!scope class
84
+ # Global configuration object for GoodJob.
85
+ # @return [GoodJob::Configuration, nil]
86
+ mattr_accessor :configuration, default: GoodJob::Configuration.new({})
87
+
72
88
  # Called with exception when a GoodJob thread raises an exception
73
89
  # @param exception [Exception] Exception that was raised
74
90
  # @return [void]
@@ -135,10 +151,9 @@ module GoodJob
135
151
  # @params older_than [nil,Numeric,ActiveSupport::Duration] Jobs older than this will be destroyed (default: +86400+).
136
152
  # @return [Integer] Number of jobs that were destroyed.
137
153
  def self.cleanup_preserved_jobs(older_than: nil)
138
- configuration = GoodJob::Configuration.new({})
139
- older_than ||= configuration.cleanup_preserved_jobs_before_seconds_ago
154
+ older_than ||= GoodJob.configuration.cleanup_preserved_jobs_before_seconds_ago
140
155
  timestamp = Time.current - older_than
141
- include_discarded = configuration.cleanup_discarded_jobs?
156
+ include_discarded = GoodJob.configuration.cleanup_discarded_jobs?
142
157
 
143
158
  ActiveSupport::Notifications.instrument("cleanup_preserved_jobs.good_job", { older_than: older_than, timestamp: timestamp }) do |payload|
144
159
  old_jobs = GoodJob::Job.where('finished_at <= ?', timestamp)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: good_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Sheldon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-07-24 00:00:00.000000000 Z
11
+ date: 2022-07-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -108,20 +108,6 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.3'
111
- - !ruby/object:Gem::Dependency
112
- name: zeitwerk
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '2.0'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '2.0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: benchmark-ips
127
113
  requirement: !ruby/object:Gem::Requirement
@@ -168,16 +154,16 @@ dependencies:
168
154
  name: dotenv
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
- - - ">="
157
+ - - "~>"
172
158
  - !ruby/object:Gem::Version
173
- version: '0'
159
+ version: 2.7.6
174
160
  type: :development
175
161
  prerelease: false
176
162
  version_requirements: !ruby/object:Gem::Requirement
177
163
  requirements:
178
- - - ">="
164
+ - - "~>"
179
165
  - !ruby/object:Gem::Version
180
- version: '0'
166
+ version: 2.7.6
181
167
  - !ruby/object:Gem::Dependency
182
168
  name: foreman
183
169
  requirement: !ruby/object:Gem::Requirement
@@ -383,6 +369,16 @@ files:
383
369
  - app/filters/good_job/base_filter.rb
384
370
  - app/filters/good_job/jobs_filter.rb
385
371
  - app/helpers/good_job/application_helper.rb
372
+ - app/models/concerns/good_job/filterable.rb
373
+ - app/models/concerns/good_job/reportable.rb
374
+ - app/models/good_job/active_job_job.rb
375
+ - app/models/good_job/base_record.rb
376
+ - app/models/good_job/cron_entry.rb
377
+ - app/models/good_job/execution.rb
378
+ - app/models/good_job/execution_result.rb
379
+ - app/models/good_job/job.rb
380
+ - app/models/good_job/lockable.rb
381
+ - app/models/good_job/process.rb
386
382
  - app/views/good_job/cron_entries/index.html.erb
387
383
  - app/views/good_job/cron_entries/show.html.erb
388
384
  - app/views/good_job/jobs/_executions.erb
@@ -419,7 +415,6 @@ files:
419
415
  - lib/generators/good_job/templates/update/migrations/01_create_good_jobs.rb.erb
420
416
  - lib/generators/good_job/update_generator.rb
421
417
  - lib/good_job.rb
422
- - lib/good_job/active_job_extensions.rb
423
418
  - lib/good_job/active_job_extensions/concurrency.rb
424
419
  - lib/good_job/adapter.rb
425
420
  - lib/good_job/assignable_connection.rb
@@ -431,8 +426,6 @@ files:
431
426
  - lib/good_job/daemon.rb
432
427
  - lib/good_job/dependencies.rb
433
428
  - lib/good_job/engine.rb
434
- - lib/good_job/execution_result.rb
435
- - lib/good_job/filterable.rb
436
429
  - lib/good_job/job_performer.rb
437
430
  - lib/good_job/log_subscriber.rb
438
431
  - lib/good_job/multi_scheduler.rb
@@ -442,14 +435,6 @@ files:
442
435
  - lib/good_job/probe_server.rb
443
436
  - lib/good_job/scheduler.rb
444
437
  - lib/good_job/version.rb
445
- - lib/models/good_job/active_job_job.rb
446
- - lib/models/good_job/base_record.rb
447
- - lib/models/good_job/cron_entry.rb
448
- - lib/models/good_job/execution.rb
449
- - lib/models/good_job/job.rb
450
- - lib/models/good_job/lockable.rb
451
- - lib/models/good_job/process.rb
452
- - lib/models/good_job/reportable.rb
453
438
  homepage: https://github.com/bensheldon/good_job
454
439
  licenses:
455
440
  - MIT
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
- module GoodJob
3
- module ActiveJobExtensions
4
- end
5
- end