class BarbequeClient::ExponentialRetry
Constants
- MAX_DELAY_SECONDS
Public Class Methods
exponential_backoff(count)
click to toggle source
github.com/mperham/sidekiq/blob/v4.1.2/lib/sidekiq/middleware/server/retry_jobs.rb#L176-L179 @return [Integer] seconds
# File lib/barbeque_client/exponential_retry.rb, line 7 def self.exponential_backoff(count) (count ** 4) + 15 + (rand(30) * (count + 1)) end
new(count)
click to toggle source
@param [Integer] count - Count of retry
# File lib/barbeque_client/exponential_retry.rb, line 12 def initialize(count) @count = count end
Public Instance Methods
retry(message_id)
click to toggle source
@param [String] message_id
# File lib/barbeque_client/exponential_retry.rb, line 17 def retry(message_id) BarbequeClient.client.retry_execution( message_id: message_id, delay_seconds: [delay_seconds, MAX_DELAY_SECONDS].min, ) end
Private Instance Methods
delay_seconds()
click to toggle source
# File lib/barbeque_client/exponential_retry.rb, line 26 def delay_seconds ExponentialRetry.exponential_backoff(@count) end