Sidekiq で Scheduled Queue されたものを調べる

Scheduled Queue をしらべる

require 'sidekiq/api'

scheduled = Sidekiq::ScheduledSet.new.select
jobs = scheduled.map do |job|
  if job.klass == '[JOB_CLASS]'
    {job_id: job.jid, job_klass: job.klass, arguments: job.args}
  end
end.compact

引数で、すでにQueueに登録してあるかを調べたいとき

arg1 = hoge
arg2 = 123

# map しなくてもよい
jobs.map{|job| job[:arguments][0]['arguments']}.any?{|job| job[0] == arg1 && job[1] == arg2.to_s}

もっといい方法ありそう