Skip to content

Commit f275c55

Browse files
author
Paweł Kędzia
committed
Extract Redis health‑check interface to its own module, update strategy to import it and drop direct monitor init, clean unused imports, and restore Gemma‑3 providers in models config
1 parent 5949b85 commit f275c55

File tree

5 files changed

+45
-39
lines changed

5 files changed

+45
-39
lines changed

llm_router_api/base/lb/first_available.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
import time
2626
import logging
27-
import random
2827

2928
try:
3029
import redis
@@ -36,7 +35,6 @@
3635
from typing import List, Dict, Optional, Any
3736

3837
from llm_router_api.base.constants import REDIS_PORT, REDIS_HOST
39-
from llm_router_api.base.lb.provider_monitor import RedisProviderMonitor
4038
from llm_router_api.base.lb.redis_based_interface import RedisBasedStrategyInterface
4139

4240

llm_router_api/base/lb/redis_based_interface.py

Lines changed: 5 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import random
22
import logging
3+
34
from abc import ABC
5+
from typing import List, Dict, Optional, Any, Tuple
46

57
try:
68
import redis
@@ -9,37 +11,11 @@
911
except ImportError:
1012
REDIS_IS_AVAILABLE = False
1113

12-
from typing import List, Dict, Optional, Any, Tuple
13-
1414
from llm_router_api.base.constants import REDIS_PORT, REDIS_HOST
1515
from llm_router_api.base.lb.strategy import ChooseProviderStrategyI
16-
from llm_router_api.base.lb.provider_monitor import RedisProviderMonitor
17-
18-
19-
class RedisBasedHealthCheckInterface(ABC):
20-
def __init__(
21-
self,
22-
redis_host: str = REDIS_HOST,
23-
redis_port: int = REDIS_PORT,
24-
redis_db: int = 0,
25-
check_interval: float = 30,
26-
clear_buffers: bool = True,
27-
logger: Optional[logging.Logger] = None,
28-
):
29-
if not REDIS_IS_AVAILABLE:
30-
raise RuntimeError("Redis is not available. Please install it first.")
31-
32-
self.redis_client = redis.Redis(
33-
host=redis_host, port=redis_port, db=redis_db, decode_responses=True
34-
)
35-
36-
# Start providers monitor
37-
self._monitor = RedisProviderMonitor(
38-
redis_client=self.redis_client,
39-
check_interval=check_interval,
40-
clear_buffers=clear_buffers,
41-
logger=logger,
42-
)
16+
from llm_router_api.base.monitor.redis_health_interface import (
17+
RedisBasedHealthCheckInterface,
18+
)
4319

4420

4521
class RedisBasedStrategyInterface(
@@ -145,14 +121,6 @@ def __init__(
145121
if clear_buffers:
146122
self._clear_buffers()
147123

148-
# # Start providers monitor
149-
# self._monitor = RedisProviderMonitor(
150-
# redis_client=self.redis_client,
151-
# check_interval=30,
152-
# clear_buffers=clear_buffers,
153-
# logger=self.logger,
154-
# )
155-
156124
def init_provider(
157125
self,
158126
model_name: str,

llm_router_api/base/monitor/__init__.py

Whitespace-only changes.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import logging
2+
3+
from abc import ABC
4+
from typing import Optional
5+
6+
try:
7+
import redis
8+
9+
REDIS_IS_AVAILABLE = True
10+
except ImportError:
11+
REDIS_IS_AVAILABLE = False
12+
13+
from llm_router_api.base.constants import REDIS_PORT, REDIS_HOST
14+
from llm_router_api.base.monitor.provider_monitor import RedisProviderMonitor
15+
16+
17+
class RedisBasedHealthCheckInterface(ABC):
18+
def __init__(
19+
self,
20+
redis_host: str = REDIS_HOST,
21+
redis_port: int = REDIS_PORT,
22+
redis_db: int = 0,
23+
check_interval: float = 30,
24+
clear_buffers: bool = True,
25+
logger: Optional[logging.Logger] = None,
26+
):
27+
if not REDIS_IS_AVAILABLE:
28+
raise RuntimeError("Redis is not available. Please install it first.")
29+
30+
self.redis_client = redis.Redis(
31+
host=redis_host, port=redis_port, db=redis_db, decode_responses=True
32+
)
33+
34+
# Start providers monitor
35+
self._monitor = RedisProviderMonitor(
36+
redis_client=self.redis_client,
37+
check_interval=check_interval,
38+
clear_buffers=clear_buffers,
39+
logger=logger,
40+
)

0 commit comments

Comments
 (0)