fix: apply chunked sleep to top-of-loop market closed handler to prevent missing market open
This commit is contained in:
1 parent
5ab7c35773
commit
278c44aa9f
1 file changed
+6
-2
@@ -1342,8 +1342,12 @@ def main():
|
|||||||
next_open = clock.next_open.astimezone(EASTERN)
|
next_open = clock.next_open.astimezone(EASTERN)
|
||||||
wait_time = (next_open - datetime.now(EASTERN)).total_seconds()
|
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')}")
|
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")
|
debug_print(f"Market closed, waiting {seconds_to_human_readable(int(max(wait_time, 0)))} until next open")
|
||||||
time.sleep(min(wait_time, 3600))
|
while True:
|
||||||
|
remaining = (next_open - datetime.now(EASTERN)).total_seconds()
|
||||||
|
if remaining <= 0:
|
||||||
|
break
|
||||||
|
time.sleep(min(remaining, 3600))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
logger.info("🔔 Market open - session starting")
|
logger.info("🔔 Market open - session starting")
|
||||||
|
|||||||
Reference in new issue
Block a user