Skip to content

Commit b573fe3

Browse files
author
Vansh Kalra
committed
Changes made as per comments
1 parent c457d80 commit b573fe3

3 files changed

Lines changed: 14 additions & 14 deletions

File tree

state-manager/app/main.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
from .models.db.store import Store
2424
from .models.db.run import Run
2525

26+
# Define models list
27+
DOCUMENT_MODELS = [State, GraphTemplate, RegisteredNode, Store, Run]
28+
2629
# injecting routes
2730
from .routes import router
2831

@@ -46,7 +49,7 @@ async def lifespan(app: FastAPI):
4649
# initializing beanie
4750
client = AsyncMongoClient(settings.mongo_uri)
4851
db = client[settings.mongo_database_name]
49-
await init_beanie(db, document_models=[State, GraphTemplate, RegisteredNode, Store, Run])
52+
await init_beanie(db, document_models=DOCUMENT_MODELS)
5053
logger.info("beanie dbs initialized")
5154

5255
# initialize secret
@@ -55,7 +58,7 @@ async def lifespan(app: FastAPI):
5558
logger.info("secret initialized")
5659

5760
# perform database health check
58-
await check_database_health(logger)
61+
await check_database_health(DOCUMENT_MODELS)
5962

6063
# main logic of the server
6164
yield

state-manager/app/singletons/logs_manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def __init__(self):
3737

3838
if is_development:
3939
# In development mode, set level to WARNING to disable INFO logs
40-
logger.setLevel(logging.WARNING)
40+
logger.setLevel(logging.INFO)
4141
else:
4242
# In production mode, keep INFO level
4343
logger.setLevel(logging.INFO)

state-manager/app/utils/check_database_health.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
1-
# injecting models
2-
from ..models.db.state import State
3-
from ..models.db.graph_template_model import GraphTemplate
4-
from ..models.db.registered_node import RegisteredNode
5-
from ..models.db.store import Store
6-
from ..models.db.run import Run
7-
8-
async def check_database_health(logger):
9-
models_to_check = [State, GraphTemplate, RegisteredNode, Store, Run]
1+
from ..singletons.logs_manager import LogsManager
102

3+
async def check_database_health(models_to_check):
4+
logger = LogsManager().get_logger()
5+
checks_per_model = 3
6+
117
logger.info("Starting database health check")
128

139
for model in models_to_check:
1410
try:
15-
await model.find_one()
16-
logger.info(f"Health check passed for {model.__name__}")
11+
for i in range(checks_per_model):
12+
await model.find_one()
13+
logger.info(f"Health check passed for {model.__name__} ({checks_per_model} checks)")
1714
except Exception as e:
1815
error_msg = f"Database migrations needed as per the current version of state-manager. Failed to query {model.__name__}: {str(e)}"
1916
logger.error(error_msg)

0 commit comments

Comments
 (0)