From aaaec1cef96269947b7b68caf8bbeebcc81db358 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Tue, 7 Apr 2026 13:52:19 +0200 Subject: [PATCH] switch order of simpy (request workers after carrier arrives, not before --- lineflow/simulation/stations.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lineflow/simulation/stations.py b/lineflow/simulation/stations.py index 1758705..bf2ab87 100644 --- a/lineflow/simulation/stations.py +++ b/lineflow/simulation/stations.py @@ -415,12 +415,11 @@ def run(self): while True: if self.is_on(): - - yield self.env.process(self.request_workers()) - self.state['n_workers'].update(self.n_workers) # Wait to get part from buffer_in yield self.env.process(self.set_to_waiting()) carrier = yield self.env.process(self.buffer_in()) + yield self.env.process(self.request_workers()) + self.state['n_workers'].update(self.n_workers) # Update current_carrier and count parts of carrier self.state['carrier'].update(carrier.name) @@ -550,11 +549,11 @@ def run(self): while True: if self.is_on(): - yield self.env.process(self.request_workers()) - self.state['n_workers'].update(self.n_workers) # Wait to get part from buffer_in yield self.env.process(self.set_to_waiting()) carrier = yield self.env.process(self.buffer_in()) + yield self.env.process(self.request_workers()) + self.state['n_workers'].update(self.n_workers) self.state['carrier'].update(carrier.name) yield self.env.process(self.set_to_work())