Exception: Legion::LLM::Errors::EscalationExhausted
- Defined in:
- lib/legion/llm/errors.rb
Overview
All dispatch attempts failed, or eligible lanes ran out after at least one attempt. HTTP 503 + Retry-After semantics (transient upstream degradation). Distinct from NoLaneAvailable: “tried lanes, ran out” vs “nothing was ever eligible”.
Instance Attribute Summary collapse
-
#attempts ⇒ Object
readonly
Returns the value of attribute attempts.
-
#last_error ⇒ Object
readonly
Returns the value of attribute last_error.
-
#tried_lanes ⇒ Object
readonly
Returns the value of attribute tried_lanes.
Instance Method Summary collapse
-
#initialize(attempts:, tried_lanes:, last_error: nil, message: nil) ⇒ EscalationExhausted
constructor
A new instance of EscalationExhausted.
- #retryable? ⇒ Boolean
Constructor Details
#initialize(attempts:, tried_lanes:, last_error: nil, message: nil) ⇒ EscalationExhausted
Returns a new instance of EscalationExhausted.
110 111 112 113 114 115 |
# File 'lib/legion/llm/errors.rb', line 110 def initialize(attempts:, tried_lanes:, last_error: nil, message: nil, **) @attempts = attempts @tried_lanes = tried_lanes @last_error = last_error super( || "exhausted after #{attempts} attempts (tried #{tried_lanes.size} lanes); last_error=#{last_error&.class}") end |
Instance Attribute Details
#attempts ⇒ Object (readonly)
Returns the value of attribute attempts.
108 109 110 |
# File 'lib/legion/llm/errors.rb', line 108 def attempts @attempts end |
#last_error ⇒ Object (readonly)
Returns the value of attribute last_error.
108 109 110 |
# File 'lib/legion/llm/errors.rb', line 108 def last_error @last_error end |
#tried_lanes ⇒ Object (readonly)
Returns the value of attribute tried_lanes.
108 109 110 |
# File 'lib/legion/llm/errors.rb', line 108 def tried_lanes @tried_lanes end |
Instance Method Details
#retryable? ⇒ Boolean
117 |
# File 'lib/legion/llm/errors.rb', line 117 def retryable? = false |