Skip to content
Snippets Groups Projects
Commit 54345f40 authored by Fabian Heinrich's avatar Fabian Heinrich
Browse files

Correct random sampling function in time generation

parent 19b1c84f
No related branches found
No related tags found
No related merge requests found
Pipeline #49223 passed
...@@ -251,6 +251,8 @@ class OrderManager: ...@@ -251,6 +251,8 @@ class OrderManager:
self.hook(INIT_ORDERS) self.hook(INIT_ORDERS)
self.open_orders.extend(init_orders) self.open_orders.extend(init_orders)
# self.update_next_relevant_time()
def progress(self, passed_time: timedelta, now: datetime): def progress(self, passed_time: timedelta, now: datetime):
"""Check expired orders and check order generation.""" """Check expired orders and check order generation."""
new_orders = self.order_gen.get_orders( new_orders = self.order_gen.get_orders(
...@@ -434,6 +436,14 @@ class RandomOrderGeneration(OrderGeneration): ...@@ -434,6 +436,14 @@ class RandomOrderGeneration(OrderGeneration):
if new_finished_orders: if new_finished_orders:
self.create_random_next_time_delta(now) self.create_random_next_time_delta(now)
return [] return []
# print(
# " - -",
# self.needed_orders,
# self.number_cur_orders,
# self.next_order_time,
# now,
# )
if self.needed_orders: if self.needed_orders:
self.needed_orders -= len(new_finished_orders) self.needed_orders -= len(new_finished_orders)
self.needed_orders = max(self.needed_orders, 0) self.needed_orders = max(self.needed_orders, 0)
...@@ -442,6 +452,7 @@ class RandomOrderGeneration(OrderGeneration): ...@@ -442,6 +452,7 @@ class RandomOrderGeneration(OrderGeneration):
self.random.choices(self.available_meals, k=len(new_finished_orders)), self.random.choices(self.available_meals, k=len(new_finished_orders)),
now, now,
) )
if self.next_order_time <= now: if self.next_order_time <= now:
if self.number_cur_orders >= self.kwargs.max_orders: if self.number_cur_orders >= self.kwargs.max_orders:
self.needed_orders += 1 self.needed_orders += 1
...@@ -502,11 +513,11 @@ class RandomOrderGeneration(OrderGeneration): ...@@ -502,11 +513,11 @@ class RandomOrderGeneration(OrderGeneration):
def create_random_next_time_delta(self, now: datetime): def create_random_next_time_delta(self, now: datetime):
if isinstance(self.kwargs.order_duration_random_func["func"], str): if isinstance(self.kwargs.order_duration_random_func["func"], str):
seconds = getattr( seconds = getattr(
self.random, self.kwargs.order_duration_random_func["func"] self.random, self.kwargs.sample_on_dur_random_func["func"]
)(**self.kwargs.order_duration_random_func["kwargs"]) )(**self.kwargs.sample_on_dur_random_func["kwargs"])
else: else:
seconds = self.kwargs.order_duration_random_func["func"]( seconds = self.kwargs.sample_on_dur_random_func["func"](
**self.kwargs.order_duration_random_func["kwargs"] **self.kwargs.sample_on_dur_random_func["kwargs"]
) )
self.next_order_time = now + timedelta(seconds=seconds) self.next_order_time = now + timedelta(seconds=seconds)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment