Sha256: cb9238d1c07e5200153c461b38f5c404b0fdf66df1699bcda2efe319600db59e
Contents?: true
Size: 996 Bytes
Versions: 1
Compression:
Stored size: 996 Bytes
Contents
module SidekiqUniqueJobs module Lock class TimeCalculator def self.for_item(item) new(item) end def initialize(item) @item = item end def seconds time_until_scheduled + unique_expiration end def time_until_scheduled scheduled = item['at'.freeze] return 0 unless scheduled (Time.at(scheduled) - Time.now.utc).to_i end def unique_expiration @unique_expiration ||= ( worker_class_unique_expiration || SidekiqUniqueJobs.config.default_expiration ).to_i end def worker_class_unique_expiration return unless worker_class.respond_to?(:get_sidekiq_options) worker_class.get_sidekiq_options['unique_expiration'.freeze] end def worker_class @worker_class ||= SidekiqUniqueJobs.worker_class_constantize(item['class'.freeze]) end private attr_reader :item end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sidekiq-unique-jobs-4.0.0 | lib/sidekiq_unique_jobs/lock/time_calculator.rb |