Files
Aether/_deprecated_py_src/services/scheduling/quota_skipper.py

18 lines
554 B
Python
Raw Normal View History

from __future__ import annotations
from src.models.database import ProviderAPIKey
from src.services.provider_keys.quota_reader import get_quota_reader
def is_key_quota_exhausted(
provider_type: str | None,
key: ProviderAPIKey,
*,
model_name: str,
) -> tuple[bool, str | None]:
"""Check ProviderAPIKey.upstream_metadata quota and decide whether to skip."""
reader = get_quota_reader(provider_type, getattr(key, "upstream_metadata", None))
result = reader.is_exhausted(model_name)
return result.exhausted, result.reason