Я использую 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. Теперь я не знаю, что еще попробовать! Любые идеи?
Resque не находит ffmpeg
Ответы (1)
Очевидный и самый простой способ - просто указать полный путь к системному методу. нравится
system("/usr/local/bin/ffmpeg")
но на самом деле это не должно существовать как проблема в первую очередь, тем более вы говорите, что совладание не помогает.
Попробуйте напечатать ENV['PATH'] из метода выполнения resque
это может помочь понять, в чем проблема, и, конечно же, убедиться, что ffmpeg находится в /usr/local/bin/
which ffmpeg
person
Maksim Morozov
schedule
17.12.2012
Он работал с полным путем и системой, но не с обратными кавычками и %x[]. Спасибо!
- person d33pika; 17.12.2012