first commit
This commit is contained in:
30
server/servers.py
Normal file
30
server/servers.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from contextlib import asynccontextmanager
|
||||
from typing import List
|
||||
|
||||
from fastapi import FastAPI
|
||||
from servers.base import BaseService
|
||||
from servers.database.server import database_service
|
||||
from servers.redis.server import redis_service
|
||||
|
||||
servers: List[BaseService] = [
|
||||
database_service,
|
||||
redis_service,
|
||||
]
|
||||
|
||||
@asynccontextmanager
|
||||
async def servers_lifespan(app: FastAPI):
|
||||
global servers
|
||||
for server in servers:
|
||||
await server.initialize()
|
||||
|
||||
@app.get("/health")
|
||||
async def health_check():
|
||||
health_status = {}
|
||||
for server in servers:
|
||||
health_status[server.service_name] = await server.check_health()
|
||||
return health_status
|
||||
|
||||
yield
|
||||
for server in servers:
|
||||
await server.shutdown()
|
||||
|
||||
Reference in New Issue
Block a user