From f4bfd281d85c9af31d0577845dadfb9c98526268 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Tue, 24 Aug 2021 10:39:13 +0200 Subject: [PATCH] POL1-492: erase sensu cache before each update --- brian_polling_manager/main.py | 6 ++++-- brian_polling_manager/sensu.py | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/brian_polling_manager/main.py b/brian_polling_manager/main.py index ab837be..a753961 100644 --- a/brian_polling_manager/main.py +++ b/brian_polling_manager/main.py @@ -29,8 +29,8 @@ import click import jsonschema from statsd import StatsClient -from brian_polling_manager \ - import inventory, configuration, interfaces, gws_direct, gws_indirect +from brian_polling_manager import inventory, configuration, \ + interfaces, gws_direct, gws_indirect, sensu logger = logging.getLogger(__name__) @@ -74,6 +74,8 @@ def refresh(config, force=False): :param force: if True, reload inventory data even if timestamp is same :return: a dict, formatted as above """ + sensu.clear_cached_values() + state = configuration.State(config['statedir']) last = inventory.last_update_timestamp(config['inventory']) if force or not last or last != state.last: diff --git a/brian_polling_manager/sensu.py b/brian_polling_manager/sensu.py index b03ec13..1ac0bf7 100644 --- a/brian_polling_manager/sensu.py +++ b/brian_polling_manager/sensu.py @@ -12,6 +12,11 @@ logger = logging.getLogger(__name__) _cached_checks = None # not using lru_cache, since params is a dict +def clear_cached_values(): + global _cached_checks + _cached_checks = None + + def load_all_checks(params, namespace='default'): global _cached_checks if _cached_checks is not None: -- GitLab