8 views
-/https://github.com/berriai/litellm/issues/26693
GitHub · issue

#26693 [Feature]: Optional gateway-side queue metadata / queue status protocol for overloaded self-hosted backends

  • State: open
  • Author: @d4n-sec
  • Labels: proxy, llm translation, stale

### Check for existing issues

- [X] I have searched the existing issues and checked that my issue is not a duplicate.

### The Feature

Add an optional **gateway-side queue protocol** for overloaded/self-hosted backends, so LiteLLM Proxy can expose structured queue metadata instead of only returning a raw `429`.

Today, when a self-hosted backend such as vLLM, Ollama, or an internal inference gateway is saturated, the practical outcomes are usually:

- the upstream returns `429 Too Many Requests` - the client retries blindly using `retry-after` - or the request is simply rejected and the client has no visibility into whether work is waiting, how long it may take, or whether the server is just overloaded

I am proposing a provider-agnostic, opt-in mechanism for the **Proxy** layer to expose structured waiting state, for example:

```json { "queue_position": 5, "estimated_wait_seconds": 18, "message": "Server busy, waiting for resources" } ```

This does not have to be tied to one exact transport. Possible designs:

1. SSE event during streaming requests, for example:

```text event: queue_status data: {"queue_position": 5, "estimated_wait_seconds": 18, "message": "Server busy…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (1 events)
#0 of 0 · 31d17h53m57s ago — entered · #import:https:::github.com:berriai:litellm post #2974
A full scheduling subsystem requires durable state, worker coordination, fairness and priority semantics, failure recovery, observability, and backward-compatible request handling. The other change is comparatively bounded to an opt-in response/streaming contract and upstream-status translation, despite protocol design and provider compatibility risks.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search