Sha256: 0da56f2c74f2362a88352c6dd88467dfadb32fbbd01bfe479e3572d02c8c5cd3
Contents?: true
Size: 616 Bytes
Versions: 2
Compression:
Stored size: 616 Bytes
Contents
module ResumableJob class Backoff DEFAULT_BASE_IN_MINUTES = 1 SECONDS_PER_MINUTE = 60 class << self def to_i(*args) new(*args).to_i end def to_time(*args) new(*args).to_time end end def to_i to_time.to_i end def initialize(attempt, base: DEFAULT_BASE_IN_MINUTES) self.attempt = attempt self.base = base end def to_time Time.now + delay end private attr_accessor :attempt, :base def delay (2**attempt) * base * SECONDS_PER_MINUTE end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
resumable_job-0.1.2 | lib/resumable_job/backoff.rb |
resumable_job-0.1.1 | lib/resumable_job/backoff.rb |