echoprint-codegen работает неопределенно с delayed_job - PullRequest
0 голосов
/ 27 февраля 2012

Я пытаюсь запустить echoprint-codegen в фоновом режиме для анализа аудиофайлов при их загрузке в веб-службу.

Требуемая функциональность существует благодаря простому системному вызову файла tmp, который загружается через paperclip:

result = `echoprint-codegen #{path} 0 20` # works!

К сожалению, это не тот случай, когда задержанные работники устраиваются на новую работу; echoprint-codegen процесс зависает бесконечно.

Согласно README * 1012, я дважды проверил, что ffmpeg также находится внутри пути (Paperclip.options [: command_path] указывает на правильный путь).

Я также пытался инкапсулировать командную строку echoprint-codegen в вызове Paperclip.run(), но это также приводит к зависанию.

Есть указатели?

1 Ответ

0 голосов
/ 25 марта 2012

Я получил желаемую функциональность, поместив системный вызов echoprint-codegen в поток Ruby:

thread = Thread.new { Thread.current[:result] = `echoprint-codegen #{path} 0 20` }
thread.join
result = thread[:result]
...