Sha256: 22dfd75ff4b9f05a224622ffe7e071955ab59c0dd858cae0a87a78b89498777e

Contents?: true

Size: 519 Bytes

Versions: 1

Compression:

Stored size: 519 Bytes

Contents

module InstDataShipper
  module Jobs
    class AsyncCaller < InstDataShipper::Jobs::Base
      sidekiq_options retry: 6 if defined?(sidekiq_options)

      def self.call_from_pool(pool, clazz, method, *args, **kwargs)
        pool.add_job(
          job: self,
          args: [clazz.to_s, method.to_s, *args],
          kwargs: kwargs,
        )
      end

      def perform(clazz, method, *args, **kwargs)
        clazz.constantize.new(executor: self).send(method.to_sym, *args, **kwargs)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
inst_data_shipper-0.1.0.beta1 lib/inst_data_shipper/jobs/async_caller.rb