Skip to content

Commit 70b064c

Browse files
[PRMP-386] Allow bulk upload to have parallel executions (#892)
Co-authored-by: Robert Gaskin <[email protected]>
1 parent 7038c26 commit 70b064c

File tree

2 files changed

+3
-9
lines changed

2 files changed

+3
-9
lines changed

lambdas/services/bulk_upload_metadata_processor_service.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import os
33
import shutil
44
import tempfile
5-
import uuid
65
from collections import defaultdict
76
from datetime import datetime
87

@@ -217,16 +216,14 @@ def send_metadata_to_fifo_sqs(
217216
self, staging_sqs_metadata_list: list[StagingSqsMetadata]
218217
) -> None:
219218
"""Send validated metadata entries to SQS FIFO queue."""
220-
sqs_group_id = f"bulk_upload_{uuid.uuid4()}"
221-
222219
for staging_sqs_metadata in staging_sqs_metadata_list:
223220
nhs_number = staging_sqs_metadata.nhs_number
224221
logger.info(f"Sending metadata for patientId: {nhs_number}")
225222
self.sqs_service.send_message_with_nhs_number_attr_fifo(
226223
queue_url=self.metadata_queue_url,
227224
message_body=staging_sqs_metadata.model_dump_json(by_alias=True),
228225
nhs_number=nhs_number,
229-
group_id=sqs_group_id,
226+
group_id=f"bulk_upload_{nhs_number}",
230227
)
231228

232229
def copy_metadata_to_dated_folder(self):

lambdas/tests/unit/services/test_bulk_upload_metadata_processor_service.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,15 +126,13 @@ def test_process_metadata_send_metadata_to_sqs_queue(
126126
mock_download_metadata_from_s3,
127127
):
128128
fake_csv_path = "fake/path/metadata.csv"
129-
fake_uuid = "123412342"
130129

131130
mock_download_metadata_from_s3.return_value = fake_csv_path
132131

133132
mocker.patch.object(
134133
test_service.s3_service, "copy_across_bucket", return_value=None
135134
)
136135
mocker.patch.object(test_service.s3_service, "delete_object", return_value=None)
137-
mocker.patch("uuid.uuid4", return_value=fake_uuid)
138136

139137
fake_metadata = [
140138
{"nhs_number": "1234567890", "some_data": "value1"},
@@ -365,19 +363,18 @@ def test_duplicates_csv_to_sqs_metadata(mocker, bulk_upload_service):
365363

366364

367365
def test_send_metadata_to_sqs(set_env, mocker, mock_sqs_service, test_service):
368-
mocker.patch("uuid.uuid4", return_value="123412342")
369366
expected_calls = [
370367
call(
371368
queue_url=MOCK_LG_METADATA_SQS_QUEUE,
372369
message_body=EXPECTED_SQS_MSG_FOR_PATIENT_1234567890,
373370
nhs_number="1234567890",
374-
group_id="bulk_upload_123412342",
371+
group_id="bulk_upload_1234567890",
375372
),
376373
call(
377374
queue_url=MOCK_LG_METADATA_SQS_QUEUE,
378375
message_body=EXPECTED_SQS_MSG_FOR_PATIENT_123456789,
379376
nhs_number="123456789",
380-
group_id="bulk_upload_123412342",
377+
group_id="bulk_upload_123456789",
381378
),
382379
]
383380

0 commit comments

Comments
 (0)