From 0785ef815b3307b5057bee87851537a763f4826e Mon Sep 17 00:00:00 2001 From: Robert Latta <robert.latta@geant.org> Date: Wed, 26 Apr 2023 10:15:29 +0100 Subject: [PATCH] cached intermediate ims data --- inventory_provider/tasks/worker.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index a3b96c6d..5bf37c27 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -691,11 +691,22 @@ def snmp_refresh_peerings_chorded( update_callback(f'snmp peering info loaded from {hostname}') +def cache_extracted_ims_data(extracted_data, use_current=False): + if use_current: + r = get_current_redis(InventoryTask.config) + else: + r = get_next_redis(InventoryTask.config) + + for k, v in extracted_data.items(): + r.set(f'ims:cache:{k}', json.dumps(v)) + + @app.task(base=InventoryTask, bind=True, name='ims_task') @log_task_entry_and_exit def ims_task(self, use_current=False): try: extracted_data = extract_ims_data() + cache_extracted_ims_data(extracted_data) transformed_data = transform_ims_data(extracted_data) transformed_data['locations'] = extracted_data['locations'] transformed_data['lg_routers'] = extracted_data['lg_routers'] -- GitLab