#27470 Cooldown TTL doesn't distinguish 429-rate-limit from 429-quota-exhausted (question / possible bug)
hey, posting this as a question first since i may have misread the code. happy to be told i'm wrong.
reading `litellm/router.py` at the current main, the `Router` class uses `cooldown_time` (a single TTL) and `allowed_fails` (a count). when a deployment exceeds `allowed_fails`, it goes into `CooldownCache` for `cooldown_time`. operators can configure both per deployment via `cooldown_time` kwarg or environment.
the failure mode i hit and that prompted this question: a free-tier provider (groq, in this case) returned 429 with body containing "you exceeded your monthly quota". my router (a homegrown thing modeled on this pattern) treated it the same as a transient 429-rate-limit, retried every 60s for hours.
reading the code i couldn't find a path where the body of a 429 is inspected to disambiguate "wait 60 seconds" from "wait until the period rolls over". `cooldown_time` is uniform.
questions:
1. is there a config knob i missed that does this distinction by body keyword? 2. if not, is "user should configure `cooldown_time = 86400` per provider that has monthly quota" the intended workaround? 3. would you accept a PR that adds an optional body-keyword classifier (off by default…