Загрузите файл и обработайте его на Heroku — Flask

#flask #heroku

Вопрос:

Я планирую загрузить видео с YouTube с помощью библиотеки python youtube-dl, преобразовать его в mp3, выполнить некоторые дополнительные действия с помощью ffmpeg и отобразить его пользователю на html-странице.

Все это через колбу.

Я читал, что у Heroku есть эфемерная файловая система, так возможна ли вообще моя идея выше?

  • Это для школьного проекта, так что у меня нет на это никакого бюджета.
  • Я не заинтересован в сохранении сгенерированного файла. Просто клиент есть.

Комментарии:

1. Если вы загрузите конечный результат в не эфемерное место, такое как Amazon S3, конечно. devcenter.heroku.com/articles/s3

2. @ceejayoz, можно ли вместо этого сохранить конечный результат на компьютере клиента? Чтобы вообще не использовать S3? Меня не интересует сгенерированный файл.

3. Да, если вы сможете сделать это менее чем за 30 секунд. devcenter.heroku.com/articles/request-timeout

4. @ceejayoz Ах, как интересно! Спасибо за вашу помощь! Если я правильно понимаю, моя загрузка может занять менее 30 секунд, может потребоваться любое количество времени для локальной постобработки (ffmpeg), а затем загрузить окончательный файл и сделать его менее чем за 30 секунд, и он должен работать?

5. Нет, обработка ffmpeg, если вы собираетесь делать это на Heroku, должна либо а) запускаться как рабочая динамо-машина и помещать ее результаты где-то в S3, либо б) быть в состоянии завершить всю ее обработку менее чем за 30 секунд, если вы хотите, чтобы она работала как веб-динамо.