From 98b36e0f14f452c10d03ab4ebaa87f8fc89c3a5d Mon Sep 17 00:00:00 2001 From: Xin Zheng Date: Thu, 26 Sep 2024 16:04:13 +0700 Subject: [PATCH] use x-timeout value as request timeout --- .../swisspush/gateleen/queue/queuing/QueueProcessor.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gateleen-queue/src/main/java/org/swisspush/gateleen/queue/queuing/QueueProcessor.java b/gateleen-queue/src/main/java/org/swisspush/gateleen/queue/queuing/QueueProcessor.java index e23777df..234445a5 100755 --- a/gateleen-queue/src/main/java/org/swisspush/gateleen/queue/queuing/QueueProcessor.java +++ b/gateleen-queue/src/main/java/org/swisspush/gateleen/queue/queuing/QueueProcessor.java @@ -292,7 +292,13 @@ private void executeQueuedRequest(Message message, Logger logger, Ht performCircuitBreakerActions(queueName, queuedRequest, FAILURE, state); }); }; - request1.idleTimeout(120000); // avoids blocking other requests + + if (queuedRequest.getHeaders().get("x-timeout") != null && !queuedRequest.getHeaders().get("x-timeout").isEmpty()) { + request1.idleTimeout((long) (Long.parseLong(queuedRequest.getHeaders().get("x-timeout")) * 1.1)); + } else { + request1.idleTimeout(120000); // avoids blocking other requests + } + if (queuedRequest.getPayload() != null) { vertx.executeBlocking(() -> { long beginEpchMs = currentTimeMillis();