From: Eric Biagiotti Date: Thu, 17 Jan 2019 15:02:43 +0000 (-0500) Subject: 13306: Prevents multiple RunTimeStatusLoggingHandlers from being added X-Git-Tag: 1.4.0~158^2~26 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/dd517b036d14a4e5d78c1fbde97f1760bf848004?hp=5e66fb80a5053b1c51b58191f042dbc40839ba9d 13306: Prevents multiple RunTimeStatusLoggingHandlers from being added Arvados-DCO-1.1-Signed-off-by: Eric Biagiotti --- diff --git a/sdk/cwl/arvados_cwl/executor.py b/sdk/cwl/arvados_cwl/executor.py index 60ea2ce824..e5a3d59858 100644 --- a/sdk/cwl/arvados_cwl/executor.py +++ b/sdk/cwl/arvados_cwl/executor.py @@ -185,6 +185,11 @@ http://doc.arvados.org/install/install-api-server.html#disable_api_methods # if running inside a container if arvados_cwl.util.get_current_container(self.api, self.num_retries, logger): root_logger = logging.getLogger('') + + # Remove existing RuntimeStatusLoggingHandlers if they exist + handlers = [h for h in root_logger.handlers if not isinstance(h, RuntimeStatusLoggingHandler)] + root_logger.handlers = handlers + handler = RuntimeStatusLoggingHandler(self.runtime_status_update) root_logger.addHandler(handler)