class Opbeat::ClientState

Public Class Methods

new(configuration) click to toggle source
# File lib/opbeat/client.rb, line 13
def initialize(configuration)
  @configuration = configuration
  @retry_number = 0
  @last_check = Time.now
end

Public Instance Methods

set_fail() click to toggle source
# File lib/opbeat/client.rb, line 28
def set_fail
  @status = :error
  @retry_number += 1
  @last_check = Time.now
end
set_success() click to toggle source
# File lib/opbeat/client.rb, line 34
def set_success
  @status = :online
  @retry_number = 0
  @last_check = nil
end
should_try?() click to toggle source
# File lib/opbeat/client.rb, line 19
def should_try?
  return true if @status == :online

  interval = ([@retry_number, 6].min() ** 2) * @configuration[:backoff_multiplier]
  return true if Time.now - @last_check > interval

  false
end