diff --git a/shared/workspaces/workspaces/workflow/services/workflow_service.py b/shared/workspaces/workspaces/workflow/services/workflow_service.py index c2658874d0d02e0fecff810860c9f68cb4baf49f..b181aa0e45473593ee19b3c46cc207f69678d190 100644 --- a/shared/workspaces/workspaces/workflow/services/workflow_service.py +++ b/shared/workspaces/workspaces/workflow/services/workflow_service.py @@ -991,7 +991,7 @@ class WorkflowMessageHandler: request.htcondor_iterations = request.htcondor_iterations + 1 if request.htcondor_iterations > self.ITERATION_LIMIT: - status = WorkflowRequestState.Error + status = WorkflowRequestState.Error.name user_message = ( f"Found possible infinite rescheduling loop in " f"request #{request.workflow_request_id}, HTCondor iteration " @@ -1009,15 +1009,16 @@ class WorkflowMessageHandler: ) logger.warning(user_message) - # update UI - iterations_msg = WorkflowMessageArchitect( - request=request, - json_payload={ - "htcondor_iterations": request.htcondor_iterations, - "user_warning_message": user_message, - }, - ).compose_message("update_wf_metadata") - self.messenger.send_message(**iterations_msg) + if request.controller == "WS": + # update UI, but don't try sending for externally initiated workflows + iterations_msg = WorkflowMessageArchitect( + request=request, + json_payload={ + "htcondor_iterations": request.htcondor_iterations, + "user_warning_message": user_message, + }, + ).compose_message("update_wf_metadata") + self.messenger.send_message(**iterations_msg) elif message["type"] == "workflow-complete": request = self.info.refresh_request(request)