From 69e88b3b353f1a2ab7a78259b480e8afbd87669c Mon Sep 17 00:00:00 2001 From: TheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com> Date: Wed, 1 Apr 2026 17:46:47 +0900 Subject: fix: snapshot delay, env fields, alembic creds, API healthcheck and error handling --- services/portfolio-manager/src/portfolio_manager/main.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'services/portfolio-manager') diff --git a/services/portfolio-manager/src/portfolio_manager/main.py b/services/portfolio-manager/src/portfolio_manager/main.py index d60e6c9..ce174e8 100644 --- a/services/portfolio-manager/src/portfolio_manager/main.py +++ b/services/portfolio-manager/src/portfolio_manager/main.py @@ -16,6 +16,11 @@ from portfolio_manager.portfolio import PortfolioTracker ORDERS_STREAM = "orders" +# Health check port: base (HEALTH_PORT, default 8080) + offset +# data-collector: +0 (8080), strategy-engine: +1 (8081) +# order-executor: +2 (8082), portfolio-manager: +3 (8083) +HEALTH_PORT_OFFSET = 3 + async def save_snapshot( db: Database, @@ -45,11 +50,11 @@ async def snapshot_loop( ) -> None: """Periodically save portfolio snapshots and send daily summary.""" while True: - await asyncio.sleep(interval_hours * 3600) try: await save_snapshot(db, tracker, notifier, log) except Exception as exc: log.error("snapshot_failed", error=str(exc)) + await asyncio.sleep(interval_hours * 3600) async def run() -> None: @@ -64,7 +69,7 @@ async def run() -> None: tracker = PortfolioTracker() health = HealthCheckServer( - "portfolio-manager", port=config.health_port + 3, auth_token=config.metrics_auth_token + "portfolio-manager", port=config.health_port + HEALTH_PORT_OFFSET, auth_token=config.metrics_auth_token ) health.register_check("redis", broker.ping) await health.start() -- cgit v1.2.3