lib/sidekiq-scheduler/worker.rb
require 'sidekiq-scheduler/client' require 'sidekiq/worker' module SidekiqScheduler module Worker module ClassMethods def perform_at(timestamp, *args) Sidekiq::Client.delayed_push(timestamp, 'class' => self.name, 'args' => args) end def perform_in(seconds_from_now, *args) Sidekiq::Client.delayed_push(Time.now + seconds_from_now, 'class' => self.name, 'args' => args) end def remove_delayed(*args) Sidekiq::Client.remove_all_delayed(self.name, *args) end def remove_delayed_from_timestamp(timestamp, *args) Sidekiq::Client.remove_delayed(timestamp, self.name, *args) end end end end Sidekiq::Worker::ClassMethods.send(:include, SidekiqScheduler::Worker::ClassMethods)