From 78bd3ee1e1df57482544b4704328153b0ebfd92a Mon Sep 17 00:00:00 2001
From: Max Drexler <mndrexler@wisc.edu>
Date: Wed, 3 Jul 2024 22:07:35 +0000
Subject: [PATCH] add server disconnects

---
 grib_processor.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/grib_processor.py b/grib_processor.py
index d7ef169..b75c21b 100644
--- a/grib_processor.py
+++ b/grib_processor.py
@@ -625,18 +625,20 @@ def main() -> int | None:
             exchange='model'
         )
         LOG.info('Connected to %s', ', '.join(args.servers))
+
+        # maybe add loading/storing cache to disk after exits?
+        cache = defaultdict(_cache_entry)
+        LOG.debug('Starting cache cleaner')
+        threading.Thread(name='grib_pipeline_cleaner', target=_cache_cleaner, args=(cache, args.clean_interval, args.cache_ttl), daemon=True).start()
     except KeyboardInterrupt:
+        mq.disconnect()
         return
 
-    # maybe add loading/storing cache to disk after exits?
-    cache = defaultdict(_cache_entry)
-    LOG.debug('Starting cache cleaner')
-    threading.Thread(name='grib_pipeline_cleaner', target=_cache_cleaner, args=(cache, args.clean_interval, args.cache_ttl), daemon=True).start()
-
     try:
         gribs_from_dir(args.grib_dir, cache, args.watch_debounce)
     except KeyboardInterrupt:
         LOG.critical('Got interrupt, goodbye!')
+        mq.disconnect()
 
 
 if __name__ == "__main__":
-- 
GitLab