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