diff --git a/apps/cli/executables/pexable/conveyor/conveyor/retrieve.py b/apps/cli/executables/pexable/conveyor/conveyor/retrieve.py index 1007bc9d7abc519faf320d0c7b755e8d772cac2e..dacdf02f0b8ba0702d01eb530c399fccfdc4e1f4 100644 --- a/apps/cli/executables/pexable/conveyor/conveyor/retrieve.py +++ b/apps/cli/executables/pexable/conveyor/conveyor/retrieve.py @@ -63,8 +63,8 @@ class RetrievalConveyor(ConveyorIF): :return: """ - url = f"/workflows/carta/requests/{self.settings['request_id']}/send-do-not-calibrate/{sdm_id}" - requests.post(url, json={"fileSetIds": sdm_id}) + url = f"/workflows/requests/{self.settings['request_id']}/send-do-not-calibrate/{sdm_id}" + requests.post(url, json={"sdm_id": sdm_id}) def break_symlinks(self, spool_path: Path, dir_list: List[str]): self.logger.info(f"Breaking symlinks between qa2 and spool for directory {spool_path.stem}...") diff --git a/services/workflow/workflow/server.py b/services/workflow/workflow/server.py index 15fe644877cfbc443df6ea28dd2bde6344a6fab2..c80f0ac4e891a4a8446c8dc72e4a94610281a15e 100644 --- a/services/workflow/workflow/server.py +++ b/services/workflow/workflow/server.py @@ -576,7 +576,7 @@ def main(global_config, **settings): # Use this route to send a Do Not Calibrate message to the AAT system config.add_route( "send_do_not_calibrate", - "/workflows/carta/requests/{request_id}/send-do-not-calibrate/{sdm_id}", + "/workflows/requests/{request_id}/send-do-not-calibrate/{sdm_id}", factory=lookup_request, ) diff --git a/shared/workspaces/workspaces/workflow/services/workflow_service.py b/shared/workspaces/workspaces/workflow/services/workflow_service.py index ae94bde18a7ef72c6eca750f34f643301b637262..5d433f2c7e137822b7e4a5348b9f0b047952928e 100644 --- a/shared/workspaces/workspaces/workflow/services/workflow_service.py +++ b/shared/workspaces/workspaces/workflow/services/workflow_service.py @@ -223,6 +223,22 @@ class WorkflowService(WorkflowServiceIF): carta_url_msg = WorkflowMessageArchitect(request=wf_request, carta_url=carta_url).compose_message("carta_ready") self.messenger.send_message(**carta_url_msg) + def send_do_not_calibrate(self, request_id: int, sdm_id: str): + """ + Tell the archive to set specified SDM to "Do Not Calibrate". + + :param message: message containing key-value pairs + :return: + """ + wf_request = self.info.lookup_workflow_request(request_id) + + if wf_request.workflow_name == ArchiveWorkflows.DO_NOT_CALIBRATE.value: + logger.info(f"SENDING 'DO NOT CALIBRATE' MESSAGE to AAT for request #{request_id}!") + dnc_msg = ArchiveMessageArchitect( + routing_key="qa-script.fail", request=request_id, sdm_id=sdm_id + ).compose_message("qa_fail") + self.archive_messenger.send_message(**dnc_msg) + def execute(self, request: WorkflowRequest): """ Execute a workflow per the supplied parameters. @@ -676,9 +692,6 @@ class WorkflowMessageHandler: elif message["type"] == "delivery" or message["type"] == "ingestion-complete": status = WorkflowRequestState.Complete.name - elif message["type"] == "qa-fail": - self.send_do_not_calibrate(request.workflow_request_id, message["sdm_id"]) - else: status = "Unknown" @@ -732,22 +745,6 @@ class WorkflowMessageHandler: ) self.archive_messenger.send_message(**seci_msg) - def send_do_not_calibrate(self, request_id: int, sdm_id: str): - """ - Tell the archive to set specified SDM to "Do Not Calibrate". - - :param message: message containing key-value pairs - :return: - """ - wf_request = self.info.lookup_workflow_request(request_id) - - if wf_request.workflow_name == ArchiveWorkflows.DO_NOT_CALIBRATE.value: - logger.info(f"SENDING 'DO NOT CALIBRATE' MESSAGE to AAT for request #{request_id}!") - dnc_msg = ArchiveMessageArchitect( - routing_key="qa-script.fail", request=request_id, sdm_id=sdm_id - ).compose_message("qa_fail") - self.archive_messenger.send_message(**dnc_msg) - def clean_remote_workflow(self, request: WorkflowRequest): injector = CapoInjector(request)