Class: Jobbr::DelayedJob

Inherits:
Job
  • Object
show all
Defined in:
app/models/jobbr/delayed_job.rb

Constant Summary

Constants inherited from Job

Job::MAX_RUN_PER_JOB

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Job

#average_run_time, #delayed?, description, #handle_process_interruption, instance, #last_run, #name, #run, run, #scheduled?, #to_param

Class Method Details

.run_delayed(params, delayed = true) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'app/models/jobbr/delayed_job.rb', line 14

def self.run_delayed(params, delayed = true)
  delayed = delayed && !Rails.env.test?
  job = instance
  job_run = Run.create(status: :waiting, started_at: Time.now, job: job)
  if delayed
    job.delay.run(job_run, params)
  else
    job.run(job_run, params)
  end
  job_run
end

.run_delayed_by_name(job_class_name, params, delayed = true) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
# File 'app/models/jobbr/delayed_job.rb', line 26

def self.run_delayed_by_name(job_class_name, params, delayed = true)
  delayed = delayed && !Rails.env.test?
  job = instance(job_class_name)
  job_run = Run.create(status: :waiting, started_at: Time.now, job: job)
  if delayed
    job.delay.run(job_run, params)
  else
    job.run(job_run, params)
  end
  job_run
end

Instance Method Details

#error(job, exception) ⇒ Object

Delayed Job callbacks



39
40
41
# File 'app/models/jobbr/delayed_job.rb', line 39

def error(job, exception)
  puts 'JOBBR ERROR'
end

#failureObject



43
44
45
# File 'app/models/jobbr/delayed_job.rb', line 43

def failure
  puts 'JOBBR FAILURE'
end

#perform(params, run) ⇒ Object



10
11
12
# File 'app/models/jobbr/delayed_job.rb', line 10

def perform(params, run)
  raise NotImplementedError.new :message => 'Must be implemented'
end