class SidekiqBulkJob::BulkErrorHandler

Constants

ErrorCollection

Attributes

errors[RW]
jid[RW]
job_class_name[RW]

Public Class Methods

new(job_class_name, jid) click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 17
def initialize(job_class_name, jid)
  @jid = jid || SecureRandom.hex(12)
  @job_class_name = job_class_name
  @errors = []
end

Public Instance Methods

add(job_args, exception) click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 23
def add(job_args, exception)
  errors << ErrorCollection.new(job_args, exception)
end
args() click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 31
def args
  [job_class_name, errors.map(&:args)]
end
backtrace() click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 27
def backtrace
  errors.map(&:backtrace).flatten
end
clear() click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 49
def clear
  SidekiqBulkJob.redis.del jid
end
failed?() click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 35
def failed?
  !errors.empty?
end
raise_error() click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 39
def raise_error
  error = BulkError.new(errors.map(&:message).join('; '))
  error.set_backtrace self.backtrace
  error
end
retry_count() click to toggle source
# File lib/sidekiq_bulk_job/bulk_error_handler.rb, line 45
def retry_count
  SidekiqBulkJob.redis.incr jid
end