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 )