Комментарии 17
Мы такую проблему решали через перл. Плюс к этому скрипт мониторит нагрузку проца и старается загрузить его на 90%. Видео конвертим отдельной тулзой, которая запускается в фоне, но наш скрипт мониторит её завершение и смотрит результат, который и записывает в БД.
В итоге имеем высокопроизводительный сервер для конвертирования видео.
В итоге имеем высокопроизводительный сервер для конвертирования видео.
0
> Видео конвертим отдельной тулзой, которая запускается в фоне, но наш скрипт мониторит её завершение и смотрит результат, который и записывает в БД.
Ну собственно я так и описал, video.process вызывает в частности ffmpeg, который конвертирует видео.
А по поводу нагрузки - мне кажется, что проще будет подобрать параметры слипа и кол-ва потоков. К тому же у меня уже 2 разных демона для разных задач..
Ну собственно я так и описал, video.process вызывает в частности ffmpeg, который конвертирует видео.
А по поводу нагрузки - мне кажется, что проще будет подобрать параметры слипа и кол-ва потоков. К тому же у меня уже 2 разных демона для разных задач..
+1
НЛО прилетело и опубликовало эту надпись здесь
Плюсанул бы карму, да не могу. В нашем visualrian.ru при помощи backgrounDRb решаются подобные задачи. Все сводится в итоге к написанию worker'а и проработке логики взаимодействия с ним в контроллере.
0
BackgrounDRb — большая серьезная штука. Есть еще упомянутый ниже ActiveMQ, есть еще Starling от twitter'a..
Однако не хочется без особой надобности использовать такие тяжелые штуки.
Для определенного ряда задач вполне хватает и cron'a, однако запускать по крону ./script/runner something ресурсозатратно, т.к. каждый раз будет загружаться окружение rails, и это для многих (в т.ч. для меня) важно.
Мое решение следует рассматривать как простой и быстрый способ работы с фоновыми процессами.
Что касается BackgrounDRb — то за те пару часов, что я с ним возился, он мне не очень понравился. На мой взгляд там еще не все так гладко, как хотелось бы (например, почему я из ./script/console не могу засабмитить задачу). И хоть вполне вероятно, что человек, плотно работающий с BackgrounDRb знает, как обходить эти проблемы, но не всем это надо.
Однако не хочется без особой надобности использовать такие тяжелые штуки.
Для определенного ряда задач вполне хватает и cron'a, однако запускать по крону ./script/runner something ресурсозатратно, т.к. каждый раз будет загружаться окружение rails, и это для многих (в т.ч. для меня) важно.
Мое решение следует рассматривать как простой и быстрый способ работы с фоновыми процессами.
Что касается BackgrounDRb — то за те пару часов, что я с ним возился, он мне не очень понравился. На мой взгляд там еще не все так гладко, как хотелось бы (например, почему я из ./script/console не могу засабмитить задачу). И хоть вполне вероятно, что человек, плотно работающий с BackgrounDRb знает, как обходить эти проблемы, но не всем это надо.
+1
http://blog.skiptree.com/?cat=21 - ещё один вариант с ActiveMQ,
+1
А скорость сравнивали с реализациями на других языках?
0
Ребята, а слабо написать подробную статью о публикации юзером видео на сайте? Начиная от загрузки видео. Давно такую штуку мечтаю сделать.
-2
НЛО прилетело и опубликовало эту надпись здесь
спасибо, позновательно. про "daemons" не знал, и у себя такую штуку делал просто через fork
вот за что люблю ruby (и rails в частности), так это за то, что можно одну и ту же вещь делать различными способами, и все простые, удобные и понятные.
вот за что люблю ruby (и rails в частности), так это за то, что можно одну и ту же вещь делать различными способами, и все простые, удобные и понятные.
0
Нужно большими буквами написать что daemons не работает на Windows. Может автор поста придумал как заставить fork() работать?
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Фоновая обработка видео в Ruby on Rails