Пользователь загружает видео и выбирает необходимую обработку, которую он хочет получить. Сервис принимает видео, применяет необходимую обработку и выдает итоговый результат. Под обработкой мы можем понимать, например, следующее: сделать видео чб, перевернуть, ускорить в N раз и т.д. Важно, чтобы пользователь мог следить за прогрессом обработки.

Вынесите обработку видео в фон: загрузка в объектное хранилище, создание задания, очередь и масштабируемые воркеры. Прогресс храните отдельно и отдавайте клиенту через polling, SSE или WebSocket.

Короткий ответ

Что ответить на собеседовании

Вынесите обработку видео в фон: загрузка в объектное хранилище, создание задания, очередь и масштабируемые воркеры. Прогресс храните отдельно и отдавайте клиенту через polling, SSE или WebSocket.

Подробный разбор

Ответ с пояснениями

Условие

Пользователь загружает видео и выбирает необходимую обработку, которую он хочет получить. Сервис принимает видео, применяет необходимую обработку и выдает итоговый результат. Под обработкой мы можем понимать, например, следующее: сделать видео чб, перевернуть, ускорить в N раз и т.д. Важно, чтобы пользователь мог следить за прогрессом обработки.

Нагрузка: 10.000 видео в минуту

Ответ

Вынесите обработку видео в фон: загрузка в объектное хранилище, создание задания, очередь и масштабируемые воркеры. Прогресс храните отдельно и отдавайте клиенту через polling, SSE или WebSocket.

10 000 видео в минуту — около 167 поступлений в секунду, но мощность определяется ещё длительностью, размером, кодеком и видами преобразований. API выдаёт upload URL и job_id; воркер получает параметры, проверяет допустимые операции и запускает изолированный обработчик с лимитами ресурсов. Прогресс включает этапы загрузки, ожидания и обработки, а не выдуманный точный процент. Нужны идемпотентные повторы, lease, отмена, очистка временных файлов и signed download URL. Планируйте backpressure, квоты, горизонтальное масштабирование и защиту от вредоносных медиа.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее