Class: SidekiqExpiringJobs::Middleware::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/sidekiq_expiring_jobs/middleware.rb

Instance Method Summary collapse

Instance Method Details

#call(_worker_class, job, _queue, _redis_pool) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/sidekiq_expiring_jobs/middleware.rb', line 6

def call(_worker_class, job, _queue, _redis_pool)
  if (expires_in = job.delete("expires_in"))
    expires_in = expires_in.to_f
    raise ArgumentError, ":expires_in must be a relative time, not absolute time" if expires_in > 1_000_000_000

    at = job["at"] || job["created_at"]
    job["expires_at"] = at + expires_in
  end
  yield
end