Method: DatadogAPIClient::APIClient#calculate_retry_interval
- Defined in:
- lib/datadog_api_client/api_client.rb
#calculate_retry_interval(response, backoff_base, backoff_multiplier, attempt, timeout) ⇒ Object
Calculate the sleep interval between 2 retry attempts
141 142 143 144 145 146 147 148 149 150 151 152 |
# File 'lib/datadog_api_client/api_client.rb', line 141 def calculate_retry_interval(response, backoff_base, backoff_multiplier, attempt, timeout) reset_header = response.headers['X-Ratelimit-Reset'] if !reset_header.nil? && !reset_header.empty? sleep_time = reset_header.to_i else sleep_time = (backoff_multiplier**attempt) * backoff_base if timeout && timeout > 0 sleep_time = [timeout, sleep_time].min end end sleep_time end |