class QPush::Server::Apis::Fail

Public Class Methods

new(job, error) click to toggle source
# File lib/qpush/server/apis/fail.rb, line 5
def initialize(job, error)
  @job = job
  @error = error
end

Public Instance Methods

call() click to toggle source
# File lib/qpush/server/apis/fail.rb, line 10
def call
  update_job
  stat_increment
  log_error
  update_history
end

Private Instance Methods

log_error() click to toggle source
# File lib/qpush/server/apis/fail.rb, line 29
def log_error
  Server.log.err("Worker #{Server.worker.id} | Job FAILED | #{@job.klass} | #{@job.id} | #{@error.message}")
end
stat_increment() click to toggle source
# File lib/qpush/server/apis/fail.rb, line 25
def stat_increment
  Server.redis { |c| c.hincrby(Server.keys[:stats], 'failed', 1) }
end
update_history() click to toggle source
# File lib/qpush/server/apis/fail.rb, line 33
def update_history
  History.call(@job, false, @error)
end
update_job() click to toggle source
# File lib/qpush/server/apis/fail.rb, line 19
def update_job
  @job.mark_failed
  @job.retry if @job.retry_job?
  @job.morgue if @job.dead_job?
end