mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-03 07:23:33 +00:00
refactor(redis): make the helpers the transport imports public
This commit is contained in:
parent
d5f8d0f9f6
commit
fe2f2f0e9d
3 changed files with 6 additions and 6 deletions
|
|
@ -530,7 +530,7 @@ def log_redis_failure(
|
|||
)
|
||||
|
||||
|
||||
def _log_redis_failure_value(logger: logging.Logger, level: int, message: str, failure: RedisFailure) -> None:
|
||||
def log_redis_failure_value(logger: logging.Logger, level: int, message: str, failure: RedisFailure) -> None:
|
||||
if failure.kind == "breaker_open":
|
||||
logger.debug("%s: %s", message, failure.message, stacklevel=2)
|
||||
return
|
||||
|
|
@ -617,7 +617,7 @@ async def _run_under_circuit_breaker(
|
|||
return result
|
||||
|
||||
|
||||
def _is_redis_error(exc: BaseException) -> bool:
|
||||
def is_redis_error(exc: BaseException) -> bool:
|
||||
from redis.exceptions import RedisError
|
||||
|
||||
return isinstance(exc, RedisError)
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ from typing import Final, TypeVar
|
|||
from litellm.caching.redis_cache import (
|
||||
RedisCircuitBreaker,
|
||||
RedisCircuitBreakerOpenError,
|
||||
_is_redis_error, # pyright: ignore[reportPrivateUsage] # same exception classes as RedisCache
|
||||
_is_redis_health_failure, # pyright: ignore[reportPrivateUsage] # same health classification as RedisCache
|
||||
_run_under_circuit_breaker, # pyright: ignore[reportPrivateUsage] # same admission and health signal as RedisCache
|
||||
is_redis_error,
|
||||
is_redis_timeout_failure,
|
||||
)
|
||||
from litellm.redis.transport.contract import Admit, RedisFailure
|
||||
|
|
@ -31,6 +31,6 @@ async def run_under_breaker(
|
|||
def _redis_failure(exc: BaseException) -> RedisFailure | None:
|
||||
if _is_redis_health_failure(exc):
|
||||
return RedisFailure(kind="transport", message=str(exc), timeout=is_redis_timeout_failure(exc))
|
||||
if _is_redis_error(exc):
|
||||
if is_redis_error(exc):
|
||||
return RedisFailure(kind="server", message=str(exc))
|
||||
return None
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ from litellm._logging import verbose_logger
|
|||
from litellm._service_logger import ServiceLogging
|
||||
from litellm.caching.redis_cache import (
|
||||
_get_call_stack_info, # pyright: ignore[reportPrivateUsage] # same caller attribution as RedisCache events
|
||||
_log_redis_failure_value, # pyright: ignore[reportPrivateUsage] # same timeout throttle as RedisCache logging
|
||||
log_redis_failure_value,
|
||||
)
|
||||
from litellm.redis.transport.contract import RedisFailure
|
||||
from litellm.types.services import ServiceTypes
|
||||
|
|
@ -66,6 +66,6 @@ def _log_failure(call_type: str, result: object) -> None:
|
|||
if not isinstance(result, RedisFailure):
|
||||
return
|
||||
target: Final = current_service_target()
|
||||
_log_redis_failure_value(
|
||||
log_redis_failure_value(
|
||||
verbose_logger, logging.WARNING, f"Redis {call_type} failed" + (f" for {target}" if target else ""), result
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue