From 8993db2afff47cd2f8a42c7686c1a99e1d842ac9 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Thu, 16 Jan 2025 10:06:56 -0700
Subject: [PATCH] reset executors

---
 .../gov/usgs/earthquake/nshmp/www/PrimingResource.java     | 5 ++++-
 .../java/gov/usgs/earthquake/nshmp/www/ServletUtil.java    | 7 +++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java b/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java
index b8285bee..8a8ce704 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/PrimingResource.java
@@ -32,7 +32,10 @@ public class PrimingResource implements OrderedResource {
   }
 
   @Override
-  public void afterRestore(Context<? extends Resource> context) throws Exception {}
+  public void afterRestore(Context<? extends Resource> context) throws Exception {
+    System.out.println("Reset exexutors");
+    ServletUtil.resetExecutors();
+  }
 
   private void updateParameter() throws SsmException {
     var parameterName = System.getenv("IMT_PARAMETER_NAME");
diff --git a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java
index e9df8d3d..e007dea5 100644
--- a/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java
+++ b/src/main/java/gov/usgs/earthquake/nshmp/www/ServletUtil.java
@@ -89,7 +89,14 @@ public class ServletUtil {
         .serializeNulls()
         .setPrettyPrinting()
         .create();
+  }
+
+  static void resetExecutors() {
+    CALC_EXECUTOR.shutdown();
+    TASK_EXECUTOR.shutdown();
 
+    CALC_EXECUTOR = MoreExecutors.listeningDecorator(Executors.newFixedThreadPool(THREAD_COUNT));
+    TASK_EXECUTOR = Executors.newSingleThreadExecutor();
   }
 
   static void model(HazardModel model) {
-- 
GitLab