Scheduling - Check for outstanding orders on start
This commit is contained in:
parent
b2788d0289
commit
49a2403886
1 changed files with 13 additions and 1 deletions
|
|
@ -14,14 +14,26 @@ logger = logging.getLogger(__name__)
|
||||||
SATURDAY = 5
|
SATURDAY = 5
|
||||||
SUNDAY = 6
|
SUNDAY = 6
|
||||||
|
|
||||||
|
GRACE_PERIOD = datetime.timedelta(seconds=10)
|
||||||
|
|
||||||
class OrderScheduler():
|
class OrderScheduler():
|
||||||
def __init__(self, loop):
|
def __init__(self, loop):
|
||||||
self.tz = pytz.timezone(TIMEZONE)
|
self.tz = pytz.timezone(TIMEZONE)
|
||||||
|
|
||||||
self.scheduler = Scheduler(loop=loop, tzinfo=self.tz)
|
self.scheduler = Scheduler(loop=loop, tzinfo=self.tz)
|
||||||
|
|
||||||
|
# Regularly scheduled orders
|
||||||
order_time_dt = order_time()
|
order_time_dt = order_time()
|
||||||
self.scheduler.daily(order_time_dt, self.scheduled_order)
|
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)
|
logger.info(self.scheduler)
|
||||||
|
|
||||||
|
|
@ -46,7 +58,7 @@ class OrderScheduler():
|
||||||
self.scheduler.once(
|
self.scheduler.once(
|
||||||
datetime.datetime.now(tz=self.tz) +
|
datetime.datetime.now(tz=self.tz) +
|
||||||
ORDER_TIMEOUT +
|
ORDER_TIMEOUT +
|
||||||
datetime.timedelta(seconds=10),
|
GRACE_PERIOD,
|
||||||
self.scheduled_check
|
self.scheduled_check
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue