From 591632f905bcb9e05d7d9deb89b3d8a8d693199c Mon Sep 17 00:00:00 2001 From: Oliver Sanders Date: Fri, 11 Oct 2024 11:48:40 +0100 Subject: [PATCH] data store: don't update outputs incrementally --- cylc/flow/data_store_mgr.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/cylc/flow/data_store_mgr.py b/cylc/flow/data_store_mgr.py index 01b43bfe91e..fda578e6c17 100644 --- a/cylc/flow/data_store_mgr.py +++ b/cylc/flow/data_store_mgr.py @@ -2428,11 +2428,25 @@ def delta_task_output( tp_delta = self.updated[TASK_PROXIES].setdefault( tp_id, PbTaskProxy(id=tp_id)) tp_delta.stamp = f'{tp_id}@{update_time}' - output = tp_delta.outputs[label] - output.label = label - output.message = message - output.satisfied = outputs.is_message_complete(message) - output.time = update_time + + for _label in tproxy.outputs: + output = tp_delta.outputs[_label] + + # set the new output + if _label == label: + output.label = label + output.message = message + output.satisfied = outputs.is_message_complete(message) + + # ensure all outputs are included in the delta + else: + _output = tproxy.outputs[_label] + output.label = _output.label + output.message = _output.message + output.satisfied = _output.satisfied + + output.time = update_time + self.updates_pending = True def delta_task_outputs(self, itask: TaskProxy) -> None: