我正在构建一个应用程序来学习 Rails,但我不确定该怎么做。
我有一个表单,用户可以在其中输入一些数据。数据已验证,服务器端进程应启动(该过程可能需要 5 分钟到 2 小时)。我希望能够随时了解进程的状态并能够终止它。我不确定该怎么做的事情是开始这个过程。我知道 system
、反引号和所有从 Ruby 代码执行外部命令的方法……问题是,如果我从 Controller 执行此操作,服务器是否仍会处理来自其他用户的请求?另外,这应该从 Controller 启动吗?我需要做的其中一件事是在页面内显示流程的输出(当它执行时)。
我应该如何在 Rails 中启动和管理(终止/重启)一个长时间运行的进程?我该怎么做才能让每个用户都可以开始自己的流程?
最佳答案
我想你应该看看delayed_job .它应该完全符合您的要求。
关于ruby-on-rails - 如何从 Rails 应用程序管理长时间运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345684/