summaryrefslogtreecommitdiff
path: root/services/portfolio-manager/src
diff options
context:
space:
mode:
Diffstat (limited to 'services/portfolio-manager/src')
-rw-r--r--services/portfolio-manager/src/portfolio_manager/main.py9
1 files changed, 7 insertions, 2 deletions
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()