我正在尝试在后台进程中运行echoprint-codegen,以便在音频文件上传到web服务时对其进行分析。
只需对通过回形针上传的tmp文件进行简单的系统调用即可实现所需的功能:
result = `echoprint-codegen #{path} 0 20` # works!
不幸的是,当被延迟的工作者启动一个新工作时,情况并非如此;echoprint-codegen进程似乎无限期地挂起。
根据echoprint自述文件,我已经仔细检查了ffmpeg是否也在路径中(Paperclip.options:command_path指向了正确的路径)。
我还试图将echoprint-codegen命令行封装在Paperclip.run()调用中,但这也会导致挂起进程。
有什么建议吗?
发布于 2012-03-25 08:09:15
通过将echoprint codegen系统调用放在Ruby Thread中,我已经获得了所需的功能:
thread = Thread.new { Thread.current[:result] = `echoprint-codegen #{path} 0 20` }
thread.join
result = thread[:result]https://stackoverflow.com/questions/9461038
复制相似问题