FirsofMaxim
@FirsofMaxim
android, java, kotlin developer

Docker, FFMPEG в отдельный контейнер?

Добрый день! Проектирую систему по декодированию видео, суть простая - принимаем файлы от пользователей (web контейнер), складываем в очередь (распределенная база/хранилище), менеджер-контейнер мониторит очередь и запускает длительные процессы энкодинга используя FFMPEG.

Вопросы:
1. стоит ли запускать FFMPEG работу в отдельном контейнере или запускать в контексте менеджера очереди (но при этом если его надо обновить, то придется убить все его текущие FFMPEG процессы, что плохо, их может быть много)?

2. если использовать FFMPEG-контейнер, как можно обновлять его без останова текущих задач? [нельзя так просто грохнуть работащие задачи по энкодингу и перезапустить снова, т/к завязано на внешний стримминг сервер]. В идеале - работающие сейчас FFMPEG- контейнеры не трогать, обновлять-перезапускать их после окончания их текущей работы.

С уважением.
  • Вопрос задан
  • 672 просмотра
Пригласить эксперта
Ответы на вопрос 1
При поступлении джобы поднимайте контейнер, который выполнив свою джобу будет умирать (флаг --rm). Таким образом вы можете заканчивать джобу на старой версии и обрабатывать следующую уже в обновленной версии контейнера.

Очередь можно сделать на rabbitmq или redis
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы