我正在 Rails 3.2.8 下设计一个 Web 服务,它将为用户执行外部程序,预期的用例是:
1) 用户填写参数表并提交请求
2) Rails 根据用户请求执行 Matlab 程序。它会持续几分钟(不到 3 分钟)并生成一个结果文件显示程序已完成
3) 在这个过程中,将用户重定向到一个页面显示“正在加载”状态,并监控是否生成了结果文件
4) 生成结果文件后,通过 AJAX 重新加载页面并显示结果。
有没有“rails”的方式来做到这一点?我以前在 JAVA SSH 框架中这样做过,但非常痛苦。我需要什么工具?例如,我是否需要像 backgroundjob 这样的 gem 来管理任务队列?或者是否有任何“单一”的宝石可以处理这个问题?谢谢!