Files
guilan-ace-backend/apps/gallery/tasks.py
Amirhossein Khalili b4903f7cb1
Some checks failed
Backend CI/CD / test (push) Has been cancelled
Backend CI/CD / deploy (push) Has been cancelled
F(backend): add public media derivatives pipeline
2026-05-20 14:26:51 +03:30

30 lines
968 B
Python

import logging
from celery import shared_task
from core.media import safe_process_public_image
logger = logging.getLogger(__name__)
@shared_task
def process_uploaded_image(gallery_id):
"""Process gallery image derivatives and refresh metadata."""
try:
from .models import Gallery
gallery_item = Gallery.objects.get(id=gallery_id)
if gallery_item.image:
result = safe_process_public_image(gallery_item.image, "gallery", force=True)
if result:
Gallery.objects.filter(pk=gallery_item.pk).update(
file_size=result.file_size,
width=result.width,
height=result.height,
)
logger.info(f"Processed image: {gallery_item.title}")
return f"Processed image: {gallery_item.title}"
except Exception as exc:
logger.error(f"Failed to process image: {exc}")
raise exc