class SidekiqBulkJob::Setter
Public Class Methods
new(opts)
click to toggle source
# File lib/sidekiq_bulk_job.rb, line 16 def initialize(opts) @opts = opts end
Public Instance Methods
perform_async(job_class, *args)
click to toggle source
# File lib/sidekiq_bulk_job.rb, line 25 def perform_async(job_class, *args) options = SidekiqBulkJob::Utils.symbolize_keys(@opts) if options[:at].nil? && options[:in].nil? payload = { job_class_name: job_class.to_s, perfrom_args: args, queue: options[:queue] || SidekiqBulkJob.queue }.select { |_, value| !value.nil? } SidekiqBulkJob.process payload else perform_in(options[:at] || options[:in], job_class, *args) end end
perform_in(interval, job_class, *args)
click to toggle source
interval
must be a timestamp, numeric or something that acts
numeric (like an activesupport time interval).
# File lib/sidekiq_bulk_job.rb, line 41 def perform_in(interval, job_class, *args) int = interval.to_f now = SidekiqBulkJob.time_now ts = (int < 1_000_000_000 ? now + int : int).to_f # Optimization to enqueue something now that is scheduled to go out now or in the past if ts > now.to_f options = SidekiqBulkJob::Utils.symbolize_keys(@opts) payload = { job_class_name: job_class.to_s, at: ts, perfrom_args: args, queue: options[:queue] || SidekiqBulkJob.queue }.select { |_, value| !value.nil? } SidekiqBulkJob.process payload else perform_async(job_class, *args) end end
Also aliased as: perform_at
set(options)
click to toggle source
# File lib/sidekiq_bulk_job.rb, line 20 def set(options) @opts.merge!(options) self end