заливать в хранилище и прикреплять к создаваемой записи в бд.
вариант 1: создаем отдельный сервис, общение происходит через очередь сообщений. на загрузку видео - кидаем в этот сервис таску, как сконвертируется, он кидает сообщение обратно в джанго сервис и создаем запись с видео
вариант 2: все синхронно. приходит видео - кодируем, создаем запись, заливаем, и только потом отвечаем клиенту.
кто с опытом - что выбрать, или какие альтернативы еще можно придумать?
Постсейв в таску?
Делали просто селери таску, которая вызывает ffmpeg через сабпроцесс, в целом, все рутинно (может и не очень красиво)
ffmpeg в асинхроне обернутый в чем удобно редис(или любой другое nosql-хранилище) можно кинуть в качестве динамического хранилища-буфера и брокера между менеджером БД и ffmpeg для передачи любых метаданных и статусов имхо
Делал что-то типа подобного когда проходил стажировку в одной местой компании Django + Celery + RabbitMQ, тут много гавнакода но можно для себя хоть что-нибудь взять https://github.com/Zoxon470/video-and-mp3-downloader
Обсуждают сегодня