1
0
mirror of https://github.com/quay/quay.git synced 2026-01-26 06:21:37 +03:00
Files
quay/workers/blobuploadcleanupworker/models_interface.py
Kenny Lee Sin Cheong 5f63b3a7bb chore: drop deprecated tables and remove unused code (PROJQUAY-522) (#2089)
* chore: drop deprecated tables and remove unused code

* isort imports

* migration: check for table existence before drop
2023-08-25 12:17:24 -04:00

52 lines
1.2 KiB
Python

from abc import ABCMeta, abstractmethod
from collections import namedtuple
from six import add_metaclass
class BlobUpload(
namedtuple("BlobUpload", ["uuid", "storage_metadata", "location_name", "created"])
):
"""
BlobUpload represents a single upload of a blob in progress or previously started.
"""
@add_metaclass(ABCMeta)
class BlobUploadCleanupWorkerDataInterface(object):
"""
Interface that represents all data store interactions required by the blob upload cleanup
worker.
"""
@abstractmethod
def get_stale_blob_upload(self, stale_threshold):
"""
Returns a BlobUpload that was created on or before the current date/time minus the stale
threshold.
If none, returns None.
"""
pass
@abstractmethod
def delete_blob_upload(self, blob_upload):
"""
Deletes a blob upload from the database.
"""
pass
@abstractmethod
def create_stale_upload_for_testing(self):
"""
Creates a new stale blob upload for testing.
"""
pass
@abstractmethod
def blob_upload_exists(self, upload_uuid):
"""
Returns True if a blob upload with the given UUID exists.
"""
pass