diff --git a/infra/helm/stonks-oracle/values.yaml b/infra/helm/stonks-oracle/values.yaml index dd70899..b5d399b 100644 --- a/infra/helm/stonks-oracle/values.yaml +++ b/infra/helm/stonks-oracle/values.yaml @@ -19,8 +19,8 @@ services: tier: orchestration secrets: [stonks-core-secrets] resources: - requests: { cpu: 50m, memory: 64Mi } - limits: { cpu: 200m, memory: 128Mi } + requests: { cpu: 50m, memory: 128Mi } + limits: { cpu: 200m, memory: 256Mi } symbolRegistry: replicas: 1 diff --git a/scripts/backfill_snapshot_prices.py b/scripts/backfill_snapshot_prices.py index 2e235eb..dd1f098 100644 --- a/scripts/backfill_snapshot_prices.py +++ b/scripts/backfill_snapshot_prices.py @@ -18,6 +18,7 @@ import argparse import asyncio import os import sys +from datetime import timedelta sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -42,8 +43,8 @@ FROM market_snapshots WHERE ticker = $1 AND snapshot_type = 'bar' AND data->>'c' IS NOT NULL - AND captured_at >= $2 - INTERVAL '24 hours' - AND captured_at <= $2 + AND captured_at >= $2 + AND captured_at <= $3 ORDER BY captured_at DESC LIMIT 1 """ @@ -102,8 +103,9 @@ async def backfill(dry_run: bool = False) -> None: price: float | None = None # Fallback 1: market_snapshots within 24h of generated_at + window_start = generated_at - timedelta(hours=24) market_row = await pool.fetchrow( - _MARKET_SNAPSHOT_FALLBACK_SQL, ticker, generated_at + _MARKET_SNAPSHOT_FALLBACK_SQL, ticker, window_start, generated_at ) if market_row and market_row["close"] is not None: price = float(market_row["close"])