асинхронное удаление из s3
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import asyncio
|
||||
import logging
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
@@ -28,10 +29,14 @@ async def delete_creative(self: 'Usecase', input: dto.DeleteCreativeInput) -> No
|
||||
|
||||
media_key = creative.media_s3_key
|
||||
if media_key:
|
||||
|
||||
async def delete_old_media() -> None:
|
||||
try:
|
||||
await self.s3.delete(media_key)
|
||||
log.info('Deleted creative media from S3: %s', media_key)
|
||||
log.info('Deleted old creative media from S3: %s', media_key)
|
||||
except Exception as e:
|
||||
log.warning('Failed to delete creative media from S3: %s', e)
|
||||
log.warning('Failed to delete old creative media from S3: %s', e)
|
||||
|
||||
asyncio.create_task(delete_old_media())
|
||||
|
||||
await self.database.delete_creative(input.creative_id)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import asyncio
|
||||
import logging
|
||||
import uuid
|
||||
from typing import TYPE_CHECKING
|
||||
@@ -33,15 +34,19 @@ async def update_creative(
|
||||
if input.media_data is not None:
|
||||
domain.validate_media_size(input.media_data)
|
||||
|
||||
# Удаляем старое медиа из S3
|
||||
# Удаляем старое медиа из S3 в фоне
|
||||
old_media_key = creative.media_s3_key
|
||||
if old_media_key:
|
||||
|
||||
async def delete_old_media() -> None:
|
||||
try:
|
||||
await self.s3.delete(old_media_key)
|
||||
log.info('Deleted old creative media from S3: %s', old_media_key)
|
||||
except Exception as e:
|
||||
log.warning('Failed to delete old creative media from S3: %s', e)
|
||||
|
||||
asyncio.create_task(delete_old_media())
|
||||
|
||||
# Загружаем новое медиа в S3
|
||||
new_media_data = input.media_data
|
||||
if new_media_data:
|
||||
@@ -82,7 +87,6 @@ async def update_creative(
|
||||
|
||||
|
||||
def _get_content_type(media_type: str | None) -> str:
|
||||
"""Map Telegram media type to MIME content type."""
|
||||
if not media_type:
|
||||
return 'application/octet-stream'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user