Resque не находит ffmpeg

Я использую resque для постановки в очередь некоторых заданий кодирования. У меня есть работники, которые берутся за эту работу и выполняют транскодирование. Проблема в том, что system "mencoder .." работает нормально, но system "ffmpeg .." броски не найдены, и то же самое с system "qt-faststart ..". Я установил менкодер, используя sudo apt-get install. ffmpeg и qt-faststart были собраны из исходников. Итак, mencoder находился в /usr/bin, а два других — в /usr/local/bin. Итак, следующее, что я попробовал, — это использовать полный путь в системной команде, которая также не была найдена. Затем я скопировал ffmpeg и qt-faststart в /usr/bin .. Все еще получил «Не найден». Мой рабочий код работает автономно, но когда бог запускает его, ffmpeg и qt-fasstart не выполняются. Да, у меня бог настроил смотреть resque. Теперь я не знаю, что еще попробовать! Любые идеи?


person d33pika    schedule 17.12.2012    source источник


Ответы (1)


Очевидный и самый простой способ - просто указать полный путь к системному методу. нравится

system("/usr/local/bin/ffmpeg")

но на самом деле это не должно существовать как проблема в первую очередь, тем более вы говорите, что совладание не помогает.

Попробуйте напечатать ENV['PATH'] из метода выполнения resque

это может помочь понять, в чем проблема, и, конечно же, убедиться, что ffmpeg находится в /usr/local/bin/

which ffmpeg
person Maksim Morozov    schedule 17.12.2012
comment
Он работал с полным путем и системой, но не с обратными кавычками и %x[]. Спасибо! - person d33pika; 17.12.2012