From 4e24f910e489a2282dd10198dfadd934fd176dd9 Mon Sep 17 00:00:00 2001 From: "Janet L. Goldstein" <jgoldste@nrao.edu> Date: Mon, 1 Nov 2021 16:12:02 -0600 Subject: [PATCH] WS-765: fixing silly mistakes (no, not carta! and move send_do_not_calibrate() --- .../pexable/conveyor/conveyor/retrieve.py | 4 +-- services/workflow/workflow/server.py | 2 +- .../workflow/services/workflow_service.py | 35 +++++++++---------- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/apps/cli/executables/pexable/conveyor/conveyor/retrieve.py b/apps/cli/executables/pexable/conveyor/conveyor/retrieve.py index 1007bc9d7..dacdf02f0 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 15fe64487..c80f0ac4e 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 ae94bde18..5d433f2c7 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) -- GitLab