From 618103fb05d31f9778ec08af15ba315bf026c92f Mon Sep 17 00:00:00 2001 From: George McCabe <23407799+georgemccabe@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:24:13 -0600 Subject: [PATCH] per #2245, add METplusConfig class function that is called when object is deleted to close log handlers. This prevents OSError: [Errno 24] Too many open files from running all pytests --- metplus/util/config_metplus.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/metplus/util/config_metplus.py b/metplus/util/config_metplus.py index f600bcfc8b..b6ab999a79 100644 --- a/metplus/util/config_metplus.py +++ b/metplus/util/config_metplus.py @@ -462,6 +462,12 @@ def __init__(self, conf=None): # add section to hold environment variables defined by the user self.add_section('user_env_vars') + def __del__(self): + handlers = self.logger.handlers[:] + for handler in handlers: + self.logger.removeHandler(handler) + handler.close() + def log(self, sublog=None): """! Overrides method in ProdConfig If the sublog argument is