class Rjob::JobProcessor
Processes one single job.
Attributes
context[R]
error[R]
job[R]
job_str[R]
Public Class Methods
new(context, job_str)
click to toggle source
# File lib/rjob/job_processor.rb, line 10 def initialize(context, job_str) @context = context @job_str = job_str @error = nil @force_dont_retry = false @success = false end
Public Instance Methods
run()
click to toggle source
# File lib/rjob/job_processor.rb, line 26 def run job = Rjob::Job.deserialize(@context, @job_str) @job = job job_args = job.worker_args worker_class = begin job.worker_class rescue NameError @error = { message: "No worker class '#{job.worker_class_name}'" } @force_dont_retry = true return end begin worker_instance = worker_class.new(@context, job) worker_instance.perform(*job_args) @success = true rescue Exception => e @error = { error_class: e.class, message: e.message } end end
stop_retry?()
click to toggle source
# File lib/rjob/job_processor.rb, line 22 def stop_retry? @force_dont_retry end
success?()
click to toggle source
# File lib/rjob/job_processor.rb, line 18 def success? @success end