class ActiveWorker::JobQueue::JobExecuter
Public Class Methods
execute_task_from_args(args)
click to toggle source
# File lib/active_worker/job_queue/job_executer.rb, line 15 def self.execute_task_from_args(args) class_name = args["class_name"] method = args["method"] params = args["params"] klass = class_name.constantize klass.send(method,*params) rescue Resque::TermException => e handle_termination(klass, params, e) rescue SignalException => e handle_exception(e, method, params, klass) raise e rescue Exception => e handle_exception(e, method, params, klass) end
handle_exception(e, method, params, klass)
click to toggle source
# File lib/active_worker/job_queue/job_executer.rb, line 32 def self.handle_exception(e, method, params, klass) log_error "Handling exception for #{klass} because #{e.message}" klass.handle_error e, method, params rescue Exception => handle_error_error log_error "Handle error exception: #{handle_error_error.message}" log_error handle_error_error.backtrace.join("\n") end
handle_termination(klass, params, exception = nil)
click to toggle source
# File lib/active_worker/job_queue/job_executer.rb, line 40 def self.handle_termination(klass, params, exception = nil) log_error "Handling #{exception || "termination" } for #{klass}" klass.handle_termination params exit end
log_error(message)
click to toggle source
# File lib/active_worker/job_queue/job_executer.rb, line 46 def self.log_error(message) puts "JOB EXECUTOR: #{message}" end
perform(args)
click to toggle source
# File lib/active_worker/job_queue/job_executer.rb, line 11 def self.perform(args) execute_task_from_args(args) end