+ fixes
This commit is contained in:
@@ -346,18 +346,22 @@ async def generate_image(
|
|||||||
quality=Quality[data['quality']],
|
quality=Quality[data['quality']],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
images = []
|
images = []
|
||||||
if generated_images_io:
|
if generated_images_io:
|
||||||
for img_io in generated_images_io:
|
for img_io in generated_images_io:
|
||||||
|
# Читаем байты
|
||||||
|
content = img_io.read()
|
||||||
|
|
||||||
|
# Сразу закрываем поток от адаптера, освобождая память
|
||||||
|
img_io.close()
|
||||||
|
|
||||||
images.append(
|
images.append(
|
||||||
BufferedInputFile(
|
BufferedInputFile(
|
||||||
img_io.read(),
|
content,
|
||||||
filename=f"img_{random.randint(1000, 9999)}.png"
|
filename=f"img_{random.randint(1000, 9999)}.png"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
# Важно: img_io здесь тоже BytesIO. После отправки aiogram закроет его сам,
|
|
||||||
# либо он удалится GC. Но если список generated_images_io большой,
|
|
||||||
# он висит в памяти до выхода из функции.
|
|
||||||
|
|
||||||
return images
|
return images
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user