24 lines
763 B
Python
24 lines
763 B
Python
"""Gallery app celery tasks."""
|
|
import logging
|
|
|
|
from celery import shared_task
|
|
|
|
from . import models
|
|
|
|
logging.basicConfig(format='[%(levelname)s] %(message)s', level=logging.INFO)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@shared_task
|
|
def delete_image(image_id: int, completely: bool = True):
|
|
"""Delete an image from remote storage."""
|
|
image_qs = models.Image.objects.filter(id=image_id)
|
|
if image_qs.exists():
|
|
try:
|
|
image = image_qs.first()
|
|
image.delete_image(completely=completely)
|
|
except:
|
|
logger.error(f'TASK_NAME: delete_image\n'
|
|
f'DETAIL: Exception occurred while deleting an image '
|
|
f'and related crops from remote storage: image_id - {image_id}')
|