from core_images.cache import cache from core_images.celery import celery from core_images.services.internal_data.service import ( get_internal_data_service, ) from core_images.cache import invalidate_cloudfront_by_ids @celery.task(autoretry_for=(Exception,), retry_kwargs={"max_retries": 1}) def create_external_image_thumbnails_task( upload_to, image_id, url, set_many_on_done_args=None ): service = get_internal_data_service() result = service.create_external_image_thumbnails(upload_to, image_id, url) if result.is_right and set_many_on_done_args: cache.set_many(*set_many_on_done_args) @celery.task( autoretry_for=(Exception,), retry_kwargs={"max_retries": 2}, default_retry_delay=5 * 60, ) def invalidate_cloudfront_by_ids_task(item_ids): invalidate_cloudfront_by_ids(item_ids)