mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-11 03:38:38 +00:00
fix(alerting): preserve legacy email budget dispatch
This commit is contained in:
parent
57fea18005
commit
9af677fcca
2 changed files with 20 additions and 9 deletions
|
|
@ -3106,11 +3106,14 @@ class ProxyLogging:
|
|||
should_send_email = (self.alerting is not None and "email" in self.alerting) or is_soft_budget_with_alert_emails
|
||||
|
||||
if should_send_email and self.email_logging_instance is not None:
|
||||
await self.email_logging_instance.budget_alerts(
|
||||
type=type,
|
||||
user_info=user_info,
|
||||
budget_alert_thresholds=(tuple(configured_thresholds) if configured_thresholds is not None else None),
|
||||
)
|
||||
if configured_thresholds is None:
|
||||
await self.email_logging_instance.budget_alerts(type=type, user_info=user_info)
|
||||
else:
|
||||
await self.email_logging_instance.budget_alerts(
|
||||
type=type,
|
||||
user_info=user_info,
|
||||
budget_alert_thresholds=tuple(configured_thresholds),
|
||||
)
|
||||
|
||||
async def alerting_handler(
|
||||
self,
|
||||
|
|
|
|||
|
|
@ -2627,7 +2627,9 @@ class TestProxyLoggingBudgetAlerts:
|
|||
|
||||
proxy_logging = ProxyLogging(user_api_key_cache=DualCache())
|
||||
proxy_logging.alerting = ["slack"]
|
||||
proxy_logging.slack_alerting_instance = AsyncMock()
|
||||
proxy_logging.slack_alerting_instance = AsyncMock(
|
||||
alerting_args=proxy_logging.slack_alerting_instance.alerting_args
|
||||
)
|
||||
|
||||
user_info = MagicMock()
|
||||
|
||||
|
|
@ -2675,7 +2677,9 @@ class TestProxyLoggingBudgetAlerts:
|
|||
|
||||
proxy_logging = ProxyLogging(user_api_key_cache=DualCache())
|
||||
proxy_logging.alerting = ["slack", "email"]
|
||||
proxy_logging.slack_alerting_instance = AsyncMock()
|
||||
proxy_logging.slack_alerting_instance = AsyncMock(
|
||||
alerting_args=proxy_logging.slack_alerting_instance.alerting_args
|
||||
)
|
||||
proxy_logging.email_logging_instance = AsyncMock()
|
||||
|
||||
user_info = MagicMock()
|
||||
|
|
@ -2708,7 +2712,9 @@ class TestProxyLoggingBudgetAlerts:
|
|||
|
||||
proxy_logging = ProxyLogging(user_api_key_cache=DualCache())
|
||||
proxy_logging.alerting = ["slack", "email"]
|
||||
proxy_logging.slack_alerting_instance = AsyncMock()
|
||||
proxy_logging.slack_alerting_instance = AsyncMock(
|
||||
alerting_args=proxy_logging.slack_alerting_instance.alerting_args
|
||||
)
|
||||
proxy_logging.email_logging_instance = AsyncMock()
|
||||
|
||||
user_info = MagicMock()
|
||||
|
|
@ -2736,7 +2742,9 @@ class TestProxyLoggingBudgetAlerts:
|
|||
|
||||
proxy_logging = ProxyLogging(user_api_key_cache=DualCache())
|
||||
proxy_logging.alerting = None # Global alerting is disabled
|
||||
proxy_logging.slack_alerting_instance = AsyncMock()
|
||||
proxy_logging.slack_alerting_instance = AsyncMock(
|
||||
alerting_args=proxy_logging.slack_alerting_instance.alerting_args
|
||||
)
|
||||
proxy_logging.email_logging_instance = AsyncMock()
|
||||
|
||||
# Create CallInfo with alert_emails set (simulating team metadata extraction)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue