Switch back to the read-then-write tag deletion code
We changed to this originally to avoid locks
This commit is contained in:
parent
70de107268
commit
ba7686af99
1 changed files with 11 additions and 6 deletions
|
@ -100,12 +100,17 @@ def delete_tag(namespace_name, repository_name, tag_name):
|
||||||
def garbage_collect_tags(repo):
|
def garbage_collect_tags(repo):
|
||||||
expired_time = get_epoch_timestamp() - repo.namespace_user.removed_tag_expiration_s
|
expired_time = get_epoch_timestamp() - repo.namespace_user.removed_tag_expiration_s
|
||||||
|
|
||||||
(RepositoryTag
|
tags_to_delete = list(RepositoryTag
|
||||||
.delete()
|
.select(RepositoryTag.id)
|
||||||
.where(RepositoryTag.repository == repo,
|
.where(RepositoryTag.repository == repo,
|
||||||
~(RepositoryTag.lifetime_end_ts >> None),
|
~(RepositoryTag.lifetime_end_ts >> None),
|
||||||
(RepositoryTag.lifetime_end_ts <= expired_time))
|
(RepositoryTag.lifetime_end_ts <= expired_time))
|
||||||
.execute())
|
.order_by(RepositoryTag.id))
|
||||||
|
if len(tags_to_delete) > 0:
|
||||||
|
(RepositoryTag
|
||||||
|
.delete()
|
||||||
|
.where(RepositoryTag.id << tags_to_delete)
|
||||||
|
.execute())
|
||||||
|
|
||||||
|
|
||||||
def get_tag_image(namespace_name, repository_name, tag_name):
|
def get_tag_image(namespace_name, repository_name, tag_name):
|
||||||
|
|
Reference in a new issue