From 78652bdd7116a8ae82a44b6728cfc85fc213740d Mon Sep 17 00:00:00 2001 From: Jessica Mack Date: Wed, 1 Feb 2023 16:10:41 -0500 Subject: [PATCH] add functionality back to cache clear method Signed-off-by: Jessica Mack --- awx/main/tasks/system.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/awx/main/tasks/system.py b/awx/main/tasks/system.py index 30f5ae785f..1a3d1fa591 100644 --- a/awx/main/tasks/system.py +++ b/awx/main/tasks/system.py @@ -65,6 +65,7 @@ from awx.main.utils.external_logging import send_pg_notify from awx.main.tasks.receptor import get_receptor_ctl, worker_info, worker_cleanup, administrative_workunit_reaper, write_receptor_config from awx.main.consumers import emit_channel_notification from awx.main import analytics +from awx.conf import settings_registry from awx.main.analytics.subsystem_metrics import Metrics from rest_framework.exceptions import PermissionDenied @@ -244,6 +245,13 @@ def apply_cluster_membership_policies(): def clear_setting_cache(setting_keys): # log that cache is being cleared logger.info(f"clear_setting_cache of keys {setting_keys}") + orig_len = len(setting_keys) + for i in range(orig_len): + for dependent_key in settings_registry.get_dependent_settings(setting_keys[i]): + setting_keys.append(dependent_key) + cache_keys = set(setting_keys) + logger.debug('cache delete_many(%r)', cache_keys) + cache.delete_many(cache_keys) @task(queue='tower_broadcast_all')