Method: Sidekiq::Worker::ClassMethods#perform_in

Defined in:
lib/sidekiq/worker.rb

#perform_in(interval, *args) ⇒ Object Also known as: perform_at



43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/sidekiq/worker.rb', line 43

def perform_in(interval, *args)
  int = interval.to_f
  now = Time.now.to_f
  ts = (int < 1_000_000_000 ? now + int : int)

  item = { 'class' => self, 'args' => args, 'at' => ts }

  # Optimization to enqueue something now that is scheduled to go out now or in the past
  item.delete('at') if ts <= now

  client_push(item)
end