From 30536d2b43151a2af8f60671db74181a8d3f82ea Mon Sep 17 00:00:00 2001 From: Maverick Studer Date: Thu, 29 Aug 2024 13:14:45 +0200 Subject: [PATCH] Tenants retry logic and queue renames --- .../build.gradle.kts | 2 +- .../configuration/MessagingConfiguration.java | 24 +++++++++++++++---- .../ocr/v1/server/queue/OcrMessageSender.java | 6 ++--- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/azure-ocr-service/azure-ocr-service-processor/build.gradle.kts b/azure-ocr-service/azure-ocr-service-processor/build.gradle.kts index f6308cd..87a8e8a 100644 --- a/azure-ocr-service/azure-ocr-service-processor/build.gradle.kts +++ b/azure-ocr-service/azure-ocr-service-processor/build.gradle.kts @@ -15,7 +15,7 @@ dependencies { api("net.sourceforge.tess4j:tess4j:5.8.0") api("com.iqser.red.commons:metric-commons:2.1.0") api("com.iqser.red.commons:storage-commons:2.49.0") - api("com.knecon.fforesight:tenant-commons:0.28.0") + api("com.knecon.fforesight:tenant-commons:0.29.0") api("com.pdftron:PDFNet:10.7.0") api("org.apache.pdfbox:pdfbox:3.0.0") api("org.apache.commons:commons-math3:3.6.1") diff --git a/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/configuration/MessagingConfiguration.java b/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/configuration/MessagingConfiguration.java index 798222e..c4e148b 100644 --- a/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/configuration/MessagingConfiguration.java +++ b/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/configuration/MessagingConfiguration.java @@ -1,5 +1,9 @@ package com.knecon.fforesight.service.ocr.v1.server.configuration; +import org.springframework.amqp.core.DirectExchange; +import org.springframework.amqp.core.Queue; +import org.springframework.amqp.core.QueueBuilder; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import lombok.RequiredArgsConstructor; @@ -8,14 +12,26 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor public class MessagingConfiguration { - public static final String OCR_REQUEST_QUEUE_PREFIX = "ocr_request_queue"; + public static final String OCR_REQUEST_QUEUE_PREFIX = "ocr_request"; public static final String OCR_REQUEST_EXCHANGE = "ocr_request_exchange"; - public static final String OCR_DLQ = "ocr_dlq"; + public static final String OCR_DLQ = "ocr_error"; public static final String OCR_RESPONSE_EXCHANGE = "ocr_response_exchange"; - public static final String OCR_STATUS_UPDATE_EXCHANGE = "ocr_status_update_exchange"; - public static final String OCR_STATUS_UPDATE_DLQ = "ocr_status_update_dlq"; + public static final String OCR_STATUS_UPDATE_RESPONSE_EXCHANGE = "ocr_status_update_response_exchange"; + public static final String OCR_STATUS_UPDATE_DLQ = "ocr_status_update_error"; public static final String X_ERROR_INFO_HEADER = "x-error-message"; public static final String X_ERROR_INFO_TIMESTAMP_HEADER = "x-error-message-timestamp"; + @Bean + public DirectExchange ocrRequestExchange() { + + return new DirectExchange(OCR_REQUEST_EXCHANGE); + } + + + @Bean + public Queue ocrDLQ() { + + return QueueBuilder.durable(OCR_DLQ).build(); + } } diff --git a/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/queue/OcrMessageSender.java b/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/queue/OcrMessageSender.java index 924282d..2f86d1d 100644 --- a/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/queue/OcrMessageSender.java +++ b/azure-ocr-service/azure-ocr-service-server/src/main/java/com/knecon/fforesight/service/ocr/v1/server/queue/OcrMessageSender.java @@ -27,7 +27,7 @@ public class OcrMessageSender implements IOcrMessageSender { public void sendOcrFinished(String fileId, int totalImages) { - rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_STATUS_UPDATE_EXCHANGE, + rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_STATUS_UPDATE_RESPONSE_EXCHANGE, TenantContext.getTenantId(), OCRStatusUpdateResponse.builder().fileId(fileId).numberOfPagesToOCR(totalImages).numberOfOCRedPages(totalImages).ocrFinished(true).build()); @@ -36,7 +36,7 @@ public class OcrMessageSender implements IOcrMessageSender { public void sendOCRStarted(String fileId) { - rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_STATUS_UPDATE_EXCHANGE, + rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_STATUS_UPDATE_RESPONSE_EXCHANGE, TenantContext.getTenantId(), OCRStatusUpdateResponse.builder().fileId(fileId).ocrStarted(true).build()); @@ -46,7 +46,7 @@ public class OcrMessageSender implements IOcrMessageSender { public void sendUpdate(String fileId, int finishedImages, int totalImages) { - rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_STATUS_UPDATE_EXCHANGE, + rabbitTemplate.convertAndSend(MessagingConfiguration.OCR_STATUS_UPDATE_RESPONSE_EXCHANGE, TenantContext.getTenantId(), OCRStatusUpdateResponse.builder().fileId(fileId).numberOfPagesToOCR(totalImages).numberOfOCRedPages(finishedImages).build());