我正在尝试在后台进程中运行echoprint-codegen
,以便在音频文件上传到网络服务时对其进行分析。
通过对通过回形针上传的tmp文件的简单系统调用,存在所需的功能:
result = `echoprint-codegen #{path} 0 20` # works!
不幸的是,当延迟工人解雇一份新工作时,情况并非如此; echoprint-codegen
进程似乎无限期挂起。
根据echoprint
自述文件,我仔细检查了ffmpeg
是否也在路径内(Paperclip.options [:command_path]指向正确的路径)。
我还尝试在echoprint-codegen
调用中封装Paperclip.run()
命令行,但这也会导致挂起过程。
任何指针?
答案 0 :(得分:0)
通过将echoprint-codegen系统调用放在Ruby线程中,我获得了所需的功能:
thread = Thread.new { Thread.current[:result] = `echoprint-codegen #{path} 0 20` }
thread.join
result = thread[:result]