diff options
Diffstat (limited to 'lib/active_job/queue_adapters/sidekiq_adapter.rb')
-rw-r--r-- | lib/active_job/queue_adapters/sidekiq_adapter.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/active_job/queue_adapters/sidekiq_adapter.rb b/lib/active_job/queue_adapters/sidekiq_adapter.rb index c8fac32963..41f58f554a 100644 --- a/lib/active_job/queue_adapters/sidekiq_adapter.rb +++ b/lib/active_job/queue_adapters/sidekiq_adapter.rb @@ -7,6 +7,13 @@ module ActiveJob def queue(job, *args) JobWrapper.client_push class: JobWrapper, queue: job.queue_name, args: [ job, *args ] end + + def queue_at(job, timestamp, *args) + job = { class: JobWrapper, queue: job.queue_name, args: [ job, *args ], at: timestamp } + # Optimization to enqueue something now that is scheduled to go out now or in the past + job.delete(:at) if timestamp <= Time.now.to_f + JobWrapper.client_push(job) + end end class JobWrapper |