diff --git a/cooperative_cuisine/orders.py b/cooperative_cuisine/orders.py index 910c44b016bc7a048d8874e2e78cb41970912eb1..33c841f71c12a69fec1c8c656bed01c3ce7a30cf 100644 --- a/cooperative_cuisine/orders.py +++ b/cooperative_cuisine/orders.py @@ -251,6 +251,8 @@ class OrderManager: self.hook(INIT_ORDERS) self.open_orders.extend(init_orders) + # self.update_next_relevant_time() + def progress(self, passed_time: timedelta, now: datetime): """Check expired orders and check order generation.""" new_orders = self.order_gen.get_orders( @@ -434,6 +436,14 @@ class RandomOrderGeneration(OrderGeneration): if new_finished_orders: self.create_random_next_time_delta(now) return [] + # print( + # " - -", + # self.needed_orders, + # self.number_cur_orders, + # self.next_order_time, + # now, + # ) + if self.needed_orders: self.needed_orders -= len(new_finished_orders) self.needed_orders = max(self.needed_orders, 0) @@ -442,6 +452,7 @@ class RandomOrderGeneration(OrderGeneration): self.random.choices(self.available_meals, k=len(new_finished_orders)), now, ) + if self.next_order_time <= now: if self.number_cur_orders >= self.kwargs.max_orders: self.needed_orders += 1 @@ -502,11 +513,11 @@ class RandomOrderGeneration(OrderGeneration): def create_random_next_time_delta(self, now: datetime): if isinstance(self.kwargs.order_duration_random_func["func"], str): seconds = getattr( - self.random, self.kwargs.order_duration_random_func["func"] - )(**self.kwargs.order_duration_random_func["kwargs"]) + self.random, self.kwargs.sample_on_dur_random_func["func"] + )(**self.kwargs.sample_on_dur_random_func["kwargs"]) else: - seconds = self.kwargs.order_duration_random_func["func"]( - **self.kwargs.order_duration_random_func["kwargs"] + seconds = self.kwargs.sample_on_dur_random_func["func"]( + **self.kwargs.sample_on_dur_random_func["kwargs"] ) self.next_order_time = now + timedelta(seconds=seconds)