Reimplement cache support for blobs in the registry data model
This commit is contained in:
parent
7a68c41f1c
commit
a172de4fdc
7 changed files with 109 additions and 16 deletions
|
@ -3,7 +3,7 @@ import re
|
|||
|
||||
from flask import url_for, request, redirect, Response, abort as flask_abort
|
||||
|
||||
from app import storage, app, get_app_url, metric_queue
|
||||
from app import storage, app, get_app_url, metric_queue, model_cache
|
||||
from auth.registry_jwt_auth import process_registry_jwt_auth
|
||||
from auth.permissions import ReadRepositoryPermission
|
||||
from data import database
|
||||
|
@ -39,12 +39,8 @@ class _InvalidRangeHeader(Exception):
|
|||
@anon_protect
|
||||
@cache_control(max_age=31436000)
|
||||
def check_blob_exists(namespace_name, repo_name, digest):
|
||||
repository_ref = registry_model.lookup_repository(namespace_name, repo_name)
|
||||
if repository_ref is None:
|
||||
raise NameUnknown()
|
||||
|
||||
# Find the blob.
|
||||
blob = registry_model.get_repo_blob_by_digest(repository_ref, digest, include_placements=True)
|
||||
blob = registry_model.get_cached_repo_blob(model_cache, namespace_name, repo_name, digest)
|
||||
if blob is None:
|
||||
raise BlobUnknown()
|
||||
|
||||
|
@ -70,12 +66,8 @@ def check_blob_exists(namespace_name, repo_name, digest):
|
|||
@anon_protect
|
||||
@cache_control(max_age=31536000)
|
||||
def download_blob(namespace_name, repo_name, digest):
|
||||
repository_ref = registry_model.lookup_repository(namespace_name, repo_name)
|
||||
if repository_ref is None:
|
||||
raise NameUnknown()
|
||||
|
||||
# Find the blob.
|
||||
blob = registry_model.get_repo_blob_by_digest(repository_ref, digest, include_placements=True)
|
||||
blob = registry_model.get_cached_repo_blob(model_cache, namespace_name, repo_name, digest)
|
||||
if blob is None:
|
||||
raise BlobUnknown()
|
||||
|
||||
|
|
Reference in a new issue