Skip to content

Commit d82b3b0

Browse files
author
codeEmpress1
authored
add cache to endponits/publisher/build (#5466)
1 parent 52a3a89 commit d82b3b0

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

webapp/endpoints/publisher/builds.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from webapp.helpers import api_publisher_session, launchpad
1212
from webapp.api.github import GitHub, InvalidYAML
1313
from webapp.decorators import login_required
14+
from cache.cache_utility import redis_cache
1415

1516
GITHUB_WEBHOOK_HOST_URL = os.getenv("GITHUB_WEBHOOK_HOST_URL")
1617

@@ -79,7 +80,11 @@ def validate_repo(github_token, snap_name, gh_owner, gh_repo):
7980

8081
@login_required
8182
def get_validate_repo(snap_name):
82-
details = dashboard.get_snap_info(flask.session, snap_name)
83+
snap_info_key = f"snap_info:{snap_name}"
84+
details = redis_cache.get(snap_info_key, expected_type=dict)
85+
if not details:
86+
details = dashboard.get_snap_info(flask.session, snap_name)
87+
redis_cache.set(snap_info_key, details, ttl=3600)
8388

8489
owner, repo = flask.request.args.get("repo").split("/")
8590

@@ -134,7 +139,11 @@ def post_build(snap_name):
134139

135140
@login_required
136141
def post_disconnect_repo(snap_name):
137-
details = dashboard.get_snap_info(flask.session, snap_name)
142+
snap_info_key = f"snap_info:{snap_name}"
143+
details = redis_cache.get(snap_info_key, expected_type=dict)
144+
if not details:
145+
details = dashboard.get_snap_info(flask.session, snap_name)
146+
redis_cache.set(snap_info_key, details, ttl=3600)
138147

139148
lp_snap = launchpad.get_snap_by_store_name(snap_name)
140149
launchpad.delete_snap(details["snap_name"])

0 commit comments

Comments
 (0)