Class: MaintenanceJob::Base
- Inherits:
-
ActiveJob::Base
- Object
- ActiveJob::Base
- MaintenanceJob::Base
- Defined in:
- app/jobs/maintenance_job/base.rb
Class Method Summary collapse
- .identifier ⇒ Object
- .pending_jobs ⇒ Object
- .record_run ⇒ Object
- .run_pending_jobs ⇒ Object
- .runnable? ⇒ Boolean
Instance Method Summary collapse
Class Method Details
.identifier ⇒ Object
29 30 31 |
# File 'app/jobs/maintenance_job/base.rb', line 29 def self.identifier raise NotImplementedError end |
.pending_jobs ⇒ Object
21 22 23 |
# File 'app/jobs/maintenance_job/base.rb', line 21 def self.pending_jobs descendants.select(&:runnable?) end |
.record_run ⇒ Object
13 14 15 |
# File 'app/jobs/maintenance_job/base.rb', line 13 def self.record_run Run.create(identifier: identifier) end |
.run_pending_jobs ⇒ Object
25 26 27 |
# File 'app/jobs/maintenance_job/base.rb', line 25 def self.run_pending_jobs pending_jobs.each(&:perform_now) end |
.runnable? ⇒ Boolean
17 18 19 |
# File 'app/jobs/maintenance_job/base.rb', line 17 def self.runnable? Run.find_by(identifier: identifier).nil? end |
Instance Method Details
#perform ⇒ Object
9 10 11 |
# File 'app/jobs/maintenance_job/base.rb', line 9 def perform raise NotImplementedError end |