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:



73
74
75
76
77
78
79
80
# File 'lib/openai/http_client.rb', line 73

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)


43
44
45
# File 'lib/openai/http_client.rb', line 43

def attempt
  @attempt
end

#delayFloat (readonly)

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

Returns:

  • (Float)


53
54
55
# File 'lib/openai/http_client.rb', line 53

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.



64
65
66
# File 'lib/openai/http_client.rb', line 64

def error
  @error
end

#max_attemptsInteger (readonly)

The maximum number of attempts, including the initial request.

Returns:

  • (Integer)


48
49
50
# File 'lib/openai/http_client.rb', line 48

def max_attempts
  @max_attempts
end

#responseOpenAI::ResponseMetadata? (readonly)

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

Returns:



58
59
60
# File 'lib/openai/http_client.rb', line 58

def response
  @response
end

Instance Method Details

#request_idString?

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

Returns:

  • (String, nil)


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

def request_id = @response&.request_id

#statusInteger?

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

Returns:

  • (Integer, nil)


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

def status = @response&.status