From 49a24038869679054e753e6e7139981508d7a33b Mon Sep 17 00:00:00 2001 From: Johnny Gear Date: Thu, 13 Nov 2025 22:03:20 -0600 Subject: [PATCH] Scheduling - Check for outstanding orders on start --- scheduling.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/scheduling.py b/scheduling.py index b201d6a..16a994a 100644 --- a/scheduling.py +++ b/scheduling.py @@ -14,14 +14,26 @@ logger = logging.getLogger(__name__) SATURDAY = 5 SUNDAY = 6 +GRACE_PERIOD = datetime.timedelta(seconds=10) + class OrderScheduler(): def __init__(self, loop): self.tz = pytz.timezone(TIMEZONE) self.scheduler = Scheduler(loop=loop, tzinfo=self.tz) + # Regularly scheduled orders order_time_dt = order_time() self.scheduler.daily(order_time_dt, self.scheduled_order) + + # Schedule any outstanding orders + db = Database() + outstanding_orders = db.order_status_outstanding() + for oo in outstanding_orders: + self.scheduler.once( + datetime.datetime.fromisoformat(oo['created_at']) + ORDER_TIMEOUT + GRACE_PERIOD, + self.scheduled_check + ) logger.info(self.scheduler) @@ -46,7 +58,7 @@ class OrderScheduler(): self.scheduler.once( datetime.datetime.now(tz=self.tz) + ORDER_TIMEOUT + - datetime.timedelta(seconds=10), + GRACE_PERIOD, self.scheduled_check )