class Opbeat::HttpClient::ClientState

Public Class Methods

new(config) click to toggle source
# File lib/opbeat/http_client.rb, line 112
def initialize(config)
  @config = config
  @retry_number = 0
  @last_check = Time.now.utc
end

Public Instance Methods

fail!() click to toggle source
# File lib/opbeat/http_client.rb, line 127
def fail!
  @status = :error
  @retry_number += 1
  @last_check = Time.now.utc
end
should_try?() click to toggle source
# File lib/opbeat/http_client.rb, line 118
def should_try?
  return true if @status == :online

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

  false
end
success!() click to toggle source
# File lib/opbeat/http_client.rb, line 133
def success!
  @status = :online
  @retry_number = 0
  @last_check = nil
end