From 52b0d7e39e0ed7805a5e4958ca0db6eeaa5a8102 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Thu, 7 Jul 2022 13:10:29 +0300 Subject: [PATCH] Take into account queue transfer delay --- .../server/service/script/RemoteJsInvokeService.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java b/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java index addd39f39a..fad92fe217 100644 --- a/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java +++ b/application/src/main/java/org/thingsboard/server/service/script/RemoteJsInvokeService.java @@ -51,6 +51,8 @@ import java.util.concurrent.atomic.AtomicInteger; @Service public class RemoteJsInvokeService extends AbstractJsInvokeService { + private static final int QUEUE_TRANSFER_DELAY = 2000; + @Value("${queue.js.max_eval_requests_timeout}") private long maxEvalRequestsTimeout; @@ -186,7 +188,7 @@ public class RemoteJsInvokeService extends AbstractJsInvokeService { ListenableFuture> future = requestTemplate.send(new TbProtoJsQueueMsg<>(UUID.randomUUID(), jsRequestWrapper)); if (maxRequestsTimeout > 0) { - future = Futures.withTimeout(future, maxRequestsTimeout, TimeUnit.MILLISECONDS, timeoutExecutorService); + future = Futures.withTimeout(future, maxRequestsTimeout + QUEUE_TRANSFER_DELAY, TimeUnit.MILLISECONDS, timeoutExecutorService); } queuePushedMsgs.incrementAndGet(); Futures.addCallback(future, new FutureCallback>() {