module Sidekiq::Running::ClassMethods

Public Instance Methods

perform_async_unelss_running_or_queued(*args) click to toggle source
# File lib/sidekiq/running.rb, line 75
def perform_async_unelss_running_or_queued(*args)
  perform_async(*args) unless running_or_queued?(*args)
end
perform_async_unless_programmed(*args) click to toggle source
# File lib/sidekiq/running.rb, line 71
def perform_async_unless_programmed(*args)
  perform_async(*args) unless programmed?(*args)
end
perform_async_unless_programmed_or_running(*args)
perform_async_unless_queued(*args) click to toggle source
# File lib/sidekiq/running.rb, line 59
def perform_async_unless_queued(*args)
  perform_async(*args) unless queued?(*args)
end
perform_async_unless_queued_or_running(*args)
perform_async_unless_running(*args) click to toggle source
# File lib/sidekiq/running.rb, line 63
def perform_async_unless_running(*args)
  perform_async(*args) unless running?(*args)
end
perform_async_unless_running_or_programmed(*args) click to toggle source
# File lib/sidekiq/running.rb, line 80
def perform_async_unless_running_or_programmed(*args)
  perform_async(*args) unless running_or_programmed?(*args)
end
perform_async_unless_scheduled(*args) click to toggle source
# File lib/sidekiq/running.rb, line 67
def perform_async_unless_scheduled(*args)
  perform_async(*args) unless scheduled?(*args)
end
programmed?(*args) click to toggle source
# File lib/sidekiq/running.rb, line 45
def programmed?(*args)
  queued?(*args) or scheduled?(*args)
end
programmed_or_running?(*args)
queue_name() click to toggle source
# File lib/sidekiq/running.rb, line 10
def queue_name
  sidekiq_options_hash["queue"].to_s || "default"
end
queued?(*args) click to toggle source
# File lib/sidekiq/running.rb, line 14
def queued?(*args)
  queue = Sidekiq::Queue.new(queue_name)
  queue.any? do |job|
    job.klass == self.name && job.args == args
  end
end
queued_or_running?(*args)
Alias for: running_or_queued?
queued_to_retry?(*args) click to toggle source
# File lib/sidekiq/running.rb, line 38
def queued_to_retry?(*args)
  set = Sidekiq::RetrySet.new
  set.any? do |job|
    job.klass == self.name && job.args == args
  end
end
running?(*args) click to toggle source
# File lib/sidekiq/running.rb, line 21
def running?(*args)
  workers = Sidekiq::Workers.new
  workers.to_a.any? do |worker_name, tid, work|
    payload = work["payload"]
    next unless payload
    payload["queue"] == queue_name and payload["class"] == self.name && payload["args"] == args
  end
end
running_or_programmed?(*args) click to toggle source
# File lib/sidekiq/running.rb, line 54
def running_or_programmed?(*args)
  queued?(*args) or programmed?(*args)
end
Also aliased as: programmed_or_running?
running_or_queued?(*args) click to toggle source
# File lib/sidekiq/running.rb, line 49
def running_or_queued?(*args)
  running?(*args) or queued?(*args)
end
Also aliased as: queued_or_running?
scheduled?(*args) click to toggle source
# File lib/sidekiq/running.rb, line 30
def scheduled?(*args)
  scheduled = Sidekiq::ScheduledSet.new
  scheduled_job = scheduled.find do |job|
    job.klass == self.name && job.args == args
  end
  scheduled_job && scheduled_job.at or false
end