我正在构建一个学习Rails的应用程序,我不知道如何解决这个问题。
我有一个表单,用户输入一些数据。验证数据,并启动服务器端进程(该过程可能需要5分钟到2小时)。我希望能够随时了解该过程的状态并能够杀死它。我不知道该怎么做就是开始这个过程。我知道system
,反引号以及从Ruby代码执行外部命令的所有方法...问题是,如果我从控制器执行此操作,服务器是否仍会处理来自其他用户的请求?另外,这应该从控制器开始吗?我需要做的一件事是在页面内显示进程的输出(当它执行时)。
我应该如何开始&在Rails中管理(终止/重启)一个长时间运行的进程?我如何以每个用户可以开始自己的过程的方式来做到这一点?
答案 0 :(得分:2)
我想你应该看看delayed_job。它应该完全符合您的要求。
答案 1 :(得分:0)
了解使用后台作业插件:http://backgroundrb.rubyforge.org/ 它具有良好的功能和社区支持。