Ruby on rails RubyonRails在会话完成后处理数据。

Ruby on rails RubyonRails在会话完成后处理数据。,ruby-on-rails,ruby,Ruby On Rails,Ruby,我需要处理用户上传的大文件。这个过程大约需要5个小时。在用户完成会话并注销后处理数据的最佳方式是什么,这样它就不需要与服务器保持5小时的连接。有什么宝石能做到这一点吗?。或者我必须使用回电或挂钩?我就是找不到正确的方法。你应该研究一下后台处理。这是一篇很好的入门文章:它解释了rails的基本思想,并展示了rails中最常用的三个选项。如果您能够,我建议您使用Active Job,将其与sidekiq或Resque之类的工具结合使用 看看 显然,只在rails 4.2及更高版本中可用,但绝对值得升

我需要处理用户上传的大文件。这个过程大约需要5个小时。在用户完成会话并注销后处理数据的最佳方式是什么,这样它就不需要与服务器保持5小时的连接。有什么宝石能做到这一点吗?。或者我必须使用回电或挂钩?我就是找不到正确的方法。你应该研究一下后台处理。这是一篇很好的入门文章:它解释了rails的基本思想,并展示了rails中最常用的三个选项。

如果您能够,我建议您使用Active Job,将其与sidekiq或Resque之类的工具结合使用

看看


显然,只在rails 4.2及更高版本中可用,但绝对值得升级

如果您可以使用rails 4.2,请这样做。ActiveJob功能将执行您想要的操作

几年前,我创建了一个简单的批处理系统,与rails应用程序一起处理文件。我处理大型音乐目录,让人们上传wav和aif文件,这些文件需要以各种方式处理。我的rails应用程序接收文件并使用carrierwave存储输入文件。它创建一个批处理项,该批处理项绑定到一个批处理项类型,该批处理项类型引用脚本文件来处理输入文件。然后,我有一段代码,每隔几分钟运行一次,并处理队列中的任何内容,当然使用锁定来确保它一次只能运行一个

对于5小时的工作,您可以考虑使用AmazonEC2进行按需处理。

看看sidekiq。