ruby-on-rails - 如何从 Rails 应用程序管理长时间运行的进程?

标签 ruby-on-rails ruby process background

我正在构建一个应用程序来学习 Rails,但我不确定该怎么做。

我有一个表单,用户可以在其中输入一些数据。数据已验证,服务器端进程应启动(该过程可能需要 5 分钟到 2 小时)。我希望能够随时了解进程的状态并能够终止它。我不确定该怎么做的事情是开始这个​​过程。我知道 system、反引号和所有从 Ruby 代码执行外部命令的方法……问题是,如果我从 Controller 执行此操作,服务器是否仍会处理来自其他用户的请求?另外,这应该从 Controller 启动吗?我需要做的其中一件事是在页面内显示流程的输出(当它执行时)。

我应该如何在 Rails 中启动和管理(终止/重启)一个长时间运行的进程?我该怎么做才能让每个用户都可以开始自己的流程?

最佳答案

我想你应该看看delayed_job .它应该完全符合您的要求。

关于ruby-on-rails - 如何从 Rails 应用程序管理长时间运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345684/

相关文章:

sorting - wmic 进程表(在命令提示符窗口内)可以按值排序吗?

java - 处理外部进程java中的交互式提示

sql - Postgresql查询获取创建账号24小时内拥有少数属性的用户

ruby-on-rails - "Password can' t be blank"播种数据库时出错

ruby-on-rails - 如何在 Rails 主机上轻松运行 sinatra/padrino 应用程序

ruby-on-rails - 为新客户记录创建操作时提交的空记录

ruby-on-rails - ActionController::UnknownFormat 错误

mysql - 在 Rails 中使用 Active Record 时如何指定 Ruby 正则表达式?

ruby - 制作 map !枚举员做我想做的事

linux - 获取子进程列表,在 Linux 中由父进程运行