Provider Budget Routing - Get Budget, Spend Details (#7063)

* add async_get_ttl to dual cache

* add ProviderBudgetResponse

* add provider_budgets

* test_redis_get_ttl

* _init_or_get_provider_budget_in_cache

* test_init_or_get_provider_budget_in_cache

* use _init_provider_budget_in_cache

* test_get_current_provider_budget_reset_at

* doc Get Budget, Spend Details

* doc Provider Budget Routing
This commit is contained in:
Ishaan Jaff 2024-12-06 21:14:12 -08:00 committed by GitHub
parent b2f41df818
commit fc7a9830ab
11 changed files with 444 additions and 1 deletions

View file

@ -145,3 +145,9 @@ class InMemoryCache(BaseCache):
def delete_cache(self, key):
self.cache_dict.pop(key, None)
self.ttl_dict.pop(key, None)
async def async_get_ttl(self, key: str) -> Optional[int]:
"""
Get the remaining TTL of a key in in-memory cache
"""
return self.ttl_dict.get(key, None)