Class: MaintenanceJob::Base

Inherits:
ActiveJob::Base
  • Object
show all
Defined in:
app/jobs/maintenance_job/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.identifierObject

Raises:

  • (NotImplementedError)


29
30
31
# File 'app/jobs/maintenance_job/base.rb', line 29

def self.identifier
  raise NotImplementedError
end

.pending_jobsObject



21
22
23
# File 'app/jobs/maintenance_job/base.rb', line 21

def self.pending_jobs
  descendants.select(&:runnable?)
end

.record_runObject



13
14
15
# File 'app/jobs/maintenance_job/base.rb', line 13

def self.record_run
  Run.create(identifier: identifier)
end

.run_pending_jobsObject



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

Returns:

  • (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

#performObject

Raises:

  • (NotImplementedError)


9
10
11
# File 'app/jobs/maintenance_job/base.rb', line 9

def perform
  raise NotImplementedError
end