module Gitlab::Triage::Retryable
Constants
- BACK_OFF_SECONDS
- MAX_RETRIES
Attributes
tries[RW]
Public Instance Methods
execute_with_retry(exception_types: [StandardError], backoff_exceptions: []) { || ... }
click to toggle source
# File lib/gitlab/triage/retryable.rb, line 9 def execute_with_retry(exception_types: [StandardError], backoff_exceptions: []) @tries = 0 until maximum_retries_reached? begin @tries += 1 return yield rescue *exception_types raise if maximum_retries_reached? rescue *backoff_exceptions raise if maximum_retries_reached? sleep(BACK_OFF_SECONDS) end end end
Private Instance Methods
maximum_retries_reached?()
click to toggle source
# File lib/gitlab/triage/retryable.rb, line 28 def maximum_retries_reached? tries == MAX_RETRIES end