From a5799b994fd05c3180f3426d1b767e35a88e9fea Mon Sep 17 00:00:00 2001 From: pattonw Date: Thu, 9 May 2024 14:21:33 -0700 Subject: [PATCH] fix daisy permanently hanging In the case where the check function skips all blocks of a given task, `_recruit_workers` never got called and daisy would just hang --- daisy/server.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/daisy/server.py b/daisy/server.py index 7f448432..0d3e1e65 100644 --- a/daisy/server.py +++ b/daisy/server.py @@ -149,6 +149,12 @@ def _handle_acquire_block(self, message): ) self._send_client_message(message.stream, RequestShutdown()) + # in the case that the scheduler skips all blocks for a task + # because that task has previously been recruited, we now + # have tasks available to start that will hang forever unless + # started now since no more blocks are available for the existing + # task and no workers are running. + self._recruit_workers() return