Class: OpenAI::RetryEvent

Inherits:
Object
  • Object
show all
Defined in:
lib/openai/http_client.rb,
sig/openai/http_client.rbs

Overview

Details about an API request retry that is about to run.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attempt:, max_attempts:, delay:, response:, error:) ⇒ RetryEvent

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of RetryEvent.

Parameters:



118
119
120
121
122
123
124
125
# File 'lib/openai/http_client.rb', line 118

def initialize(attempt:, max_attempts:, delay:, response:, error:)
  @attempt = Integer(attempt)
  @max_attempts = Integer(max_attempts)
  @delay = Float(delay)
  @response = response
  @error = error
  freeze
end

Instance Attribute Details

#attemptInteger (readonly)

The one-based number of the attempt that will run after the delay.

Returns:

  • (Integer)


88
89
90
# File 'lib/openai/http_client.rb', line 88

def attempt
  @attempt
end

#delayFloat (readonly)

The number of seconds the SDK will wait before the next attempt.

Returns:

  • (Float)


98
99
100
# File 'lib/openai/http_client.rb', line 98

def delay
  @delay
end

#errorOpenAI::Errors::APIConnectionError? (readonly)

The connection error that caused the retry, if the request failed before an HTTP response was received.



109
110
111
# File 'lib/openai/http_client.rb', line 109

def error
  @error
end

#max_attemptsInteger (readonly)

The maximum number of attempts, including the initial request.

Returns:

  • (Integer)


93
94
95
# File 'lib/openai/http_client.rb', line 93

def max_attempts
  @max_attempts
end

#responseOpenAI::ResponseMetadata? (readonly)

Metadata from the retryable HTTP response, if one was received.

Returns:



103
104
105
# File 'lib/openai/http_client.rb', line 103

def response
  @response
end

Instance Method Details

#request_idString?

The request ID of the retryable response, if one was received.

Returns:

  • (String, nil)


135
# File 'lib/openai/http_client.rb', line 135

def request_id = @response&.request_id

#statusInteger?

The status of the retryable response, if one was received.

Returns:

  • (Integer, nil)


130
# File 'lib/openai/http_client.rb', line 130

def status = @response&.status