class SidekiqBulkJob::ScheduledJob
Public Instance Methods
perform(job_class_name, args_redis_key)
click to toggle source
# File lib/sidekiq_bulk_job/scheduled_job.rb, line 11 def perform(job_class_name, args_redis_key) target_name, method_name = SidekiqBulkJob::Utils.split_class_name_with_method job_class_name job = SidekiqBulkJob::Utils.constantize(target_name) args_array = SidekiqBulkJob.flush args_redis_key args_array.each do |_args| begin args = SidekiqBulkJob::Utils.load _args if SidekiqBulkJob::Utils.class_with_method?(job_class_name) job.send(method_name, *args) else job.new.send(method_name, *args) end rescue Exception => e SidekiqBulkJob.logger.error("#{job_class_name} Args: #{args}, Error: #{e.respond_to?(:full_message) ? e.full_message : e.message}") SidekiqBulkJob.fail_callback(job_class_name: job_class_name, args: args, exception: e) SidekiqBulkJob::JobRetry.new(job, args, e).push end end end