|
11 | 11 | from webapp.helpers import api_publisher_session, launchpad |
12 | 12 | from webapp.api.github import GitHub, InvalidYAML |
13 | 13 | from webapp.decorators import login_required |
| 14 | +from cache.cache_utility import redis_cache |
14 | 15 |
|
15 | 16 | GITHUB_WEBHOOK_HOST_URL = os.getenv("GITHUB_WEBHOOK_HOST_URL") |
16 | 17 |
|
@@ -79,7 +80,11 @@ def validate_repo(github_token, snap_name, gh_owner, gh_repo): |
79 | 80 |
|
80 | 81 | @login_required |
81 | 82 | 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) |
83 | 88 |
|
84 | 89 | owner, repo = flask.request.args.get("repo").split("/") |
85 | 90 |
|
@@ -134,7 +139,11 @@ def post_build(snap_name): |
134 | 139 |
|
135 | 140 | @login_required |
136 | 141 | 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) |
138 | 147 |
|
139 | 148 | lp_snap = launchpad.get_snap_by_store_name(snap_name) |
140 | 149 | launchpad.delete_snap(details["snap_name"]) |
|
0 commit comments