forked from phoenix/litellm-mirror
fix(proxy_server.py): do a health check on db before returning if proxy ready (if db connected)
This commit is contained in:
parent
e542aa10cc
commit
e5fec98e1f
2 changed files with 24 additions and 11 deletions
|
@ -4051,16 +4051,16 @@ async def health_readiness():
|
||||||
cache_type = litellm.cache.type
|
cache_type = litellm.cache.type
|
||||||
|
|
||||||
if prisma_client is not None: # if db passed in, check if it's connected
|
if prisma_client is not None: # if db passed in, check if it's connected
|
||||||
if prisma_client.db.is_connected() == True:
|
await prisma_client.health_check() # test the db connection
|
||||||
response_object = {"db": "connected"}
|
response_object = {"db": "connected"}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
"status": "healthy",
|
"status": "healthy",
|
||||||
"db": "connected",
|
"db": "connected",
|
||||||
"cache": cache_type,
|
"cache": cache_type,
|
||||||
"litellm_version": version,
|
"litellm_version": version,
|
||||||
"success_callbacks": litellm.success_callback,
|
"success_callbacks": litellm.success_callback,
|
||||||
}
|
}
|
||||||
else:
|
else:
|
||||||
return {
|
return {
|
||||||
"status": "healthy",
|
"status": "healthy",
|
||||||
|
|
|
@ -472,8 +472,6 @@ class PrismaClient:
|
||||||
reset_at: Optional[datetime] = None,
|
reset_at: Optional[datetime] = None,
|
||||||
):
|
):
|
||||||
try:
|
try:
|
||||||
print_verbose("PrismaClient: get_data")
|
|
||||||
|
|
||||||
response: Any = None
|
response: Any = None
|
||||||
if token is not None or (table_name is not None and table_name == "key"):
|
if token is not None or (table_name is not None and table_name == "key"):
|
||||||
# check if plain text or hash
|
# check if plain text or hash
|
||||||
|
@ -885,6 +883,21 @@ class PrismaClient:
|
||||||
)
|
)
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
|
async def health_check(self):
|
||||||
|
"""
|
||||||
|
Health check endpoint for the prisma client
|
||||||
|
"""
|
||||||
|
sql_query = """
|
||||||
|
SELECT 1
|
||||||
|
FROM "LiteLLM_VerificationToken"
|
||||||
|
LIMIT 1
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Execute the raw query
|
||||||
|
# The asterisk before `user_id_list` unpacks the list into separate arguments
|
||||||
|
response = await self.db.query_raw(sql_query)
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
class DBClient:
|
class DBClient:
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue