diff --git a/cooperative_cuisine/orders.py b/cooperative_cuisine/orders.py index 95b994c558ecc6e71a5f11f926f57326669fd393..0b0529e0a39287b5dcf25bc5b494dba7e7fe7626 100644 --- a/cooperative_cuisine/orders.py +++ b/cooperative_cuisine/orders.py @@ -402,7 +402,7 @@ class RandomOrderGeneration(OrderGeneration): """For efficient checking to update order removable.""" self.number_cur_orders: int = 0 """How many orders are currently open.""" - self.needed_orders: int = 0 + self.num_needed_orders: int = 0 """For the sample on dur but when it was restricted due to max order number.""" def init_orders(self, now) -> list[Order]: @@ -435,26 +435,25 @@ 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) - self.number_cur_orders += len(new_finished_orders) + + # print(self.number_cur_orders, self.num_needed_orders) + + if self.num_needed_orders: + # self.num_needed_orders -= len(new_finished_orders) + # self.num_needed_orders = max(self.num_needed_orders, 0) + # self.number_cur_orders += len(new_finished_orders) + return self.create_orders_for_meals( - self.random.choices(self.available_meals, k=len(new_finished_orders)), + self.random.choices( + self.available_meals, + k=len(new_finished_orders) + len(expired_orders), + ), now, ) if self.next_order_time <= now: if self.number_cur_orders >= self.kwargs.max_orders: - self.needed_orders += 1 + self.num_needed_orders += 1 else: if not self.kwargs.sample_on_serving: self.create_random_next_time_delta(now)