From debf35dfae1bc82f2501477eec2d21bb6639d915 Mon Sep 17 00:00:00 2001 From: codeEmpress1 Date: Thu, 20 Nov 2025 11:49:04 +0300 Subject: [PATCH] add cache to endponits/publisher/build --- webapp/endpoints/publisher/builds.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/webapp/endpoints/publisher/builds.py b/webapp/endpoints/publisher/builds.py index b39cf33f93..503e8e59a3 100644 --- a/webapp/endpoints/publisher/builds.py +++ b/webapp/endpoints/publisher/builds.py @@ -11,6 +11,7 @@ from webapp.helpers import api_publisher_session, launchpad from webapp.api.github import GitHub, InvalidYAML from webapp.decorators import login_required +from cache.cache_utility import redis_cache GITHUB_WEBHOOK_HOST_URL = os.getenv("GITHUB_WEBHOOK_HOST_URL") @@ -79,7 +80,11 @@ def validate_repo(github_token, snap_name, gh_owner, gh_repo): @login_required def get_validate_repo(snap_name): - details = dashboard.get_snap_info(flask.session, snap_name) + snap_info_key = f"snap_info:{snap_name}" + details = redis_cache.get(snap_info_key, expected_type=dict) + if not details: + details = dashboard.get_snap_info(flask.session, snap_name) + redis_cache.set(snap_info_key, details, ttl=3600) owner, repo = flask.request.args.get("repo").split("/") @@ -134,7 +139,11 @@ def post_build(snap_name): @login_required def post_disconnect_repo(snap_name): - details = dashboard.get_snap_info(flask.session, snap_name) + snap_info_key = f"snap_info:{snap_name}" + details = redis_cache.get(snap_info_key, expected_type=dict) + if not details: + details = dashboard.get_snap_info(flask.session, snap_name) + redis_cache.set(snap_info_key, details, ttl=3600) lp_snap = launchpad.get_snap_by_store_name(snap_name) launchpad.delete_snap(details["snap_name"])