From c7986f218186a6089d3ec12ad3c35301e69863c0 Mon Sep 17 00:00:00 2001 From: Frank Liu Date: Fri, 8 Dec 2023 20:27:19 -0800 Subject: [PATCH] [python] Sets rolling batch threads as daemon thread (#1371) --- .../src/main/java/ai/djl/python/engine/RollingBatch.java | 8 +++++++- wlm/src/main/java/ai/djl/serving/wlm/WorkLoadManager.java | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/engines/python/src/main/java/ai/djl/python/engine/RollingBatch.java b/engines/python/src/main/java/ai/djl/python/engine/RollingBatch.java index 98ee3cb72..203bf3e72 100644 --- a/engines/python/src/main/java/ai/djl/python/engine/RollingBatch.java +++ b/engines/python/src/main/java/ai/djl/python/engine/RollingBatch.java @@ -52,7 +52,13 @@ class RollingBatch implements Runnable { private static final Logger logger = LoggerFactory.getLogger(RollingBatch.class); private static final Logger SERVER_METRIC = LoggerFactory.getLogger("server_metric"); - private static ExecutorService threadPool = Executors.newCachedThreadPool(); + private static ExecutorService threadPool = + Executors.newCachedThreadPool( + r -> { + Thread t = Executors.defaultThreadFactory().newThread(r); + t.setDaemon(true); + return t; + }); private PyProcess process; private int maxRollingBatchSize; diff --git a/wlm/src/main/java/ai/djl/serving/wlm/WorkLoadManager.java b/wlm/src/main/java/ai/djl/serving/wlm/WorkLoadManager.java index a86023ab0..eb00bdd85 100644 --- a/wlm/src/main/java/ai/djl/serving/wlm/WorkLoadManager.java +++ b/wlm/src/main/java/ai/djl/serving/wlm/WorkLoadManager.java @@ -43,7 +43,13 @@ public class WorkLoadManager { /** Constructs a {@link WorkLoadManager} instance. */ public WorkLoadManager() { - threadPool = Executors.newCachedThreadPool(); + threadPool = + Executors.newCachedThreadPool( + r -> { + Thread t = Executors.defaultThreadFactory().newThread(r); + t.setDaemon(true); + return t; + }); workerPools = new ConcurrentHashMap<>(); }