From 278c44aa9ff478fba7b11620162c772d58d017ad Mon Sep 17 00:00:00 2001 From: Justin Oros Date: Thu, 26 Feb 2026 08:32:18 -0700 Subject: [PATCH] fix: apply chunked sleep to top-of-loop market closed handler to prevent missing market open --- alpaca_trader/engine.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/alpaca_trader/engine.py b/alpaca_trader/engine.py index 2dd1ad2..33a1d44 100644 --- a/alpaca_trader/engine.py +++ b/alpaca_trader/engine.py @@ -1342,8 +1342,12 @@ def main(): next_open = clock.next_open.astimezone(EASTERN) wait_time = (next_open - datetime.now(EASTERN)).total_seconds() logger.info(f"🌙 Market closed. Next open: {next_open.strftime('%I:%M %p ET on %A, %B %d')}") - debug_print(f"Market closed, waiting {seconds_to_human_readable(int(wait_time))} until next open") - time.sleep(min(wait_time, 3600)) + debug_print(f"Market closed, waiting {seconds_to_human_readable(int(max(wait_time, 0)))} until next open") + while True: + remaining = (next_open - datetime.now(EASTERN)).total_seconds() + if remaining <= 0: + break + time.sleep(min(remaining, 3600)) continue logger.info("🔔 Market open - session starting")