在rails上使用ruby运行后台任务

时间:2015-04-21 14:14:59

标签: ruby-on-rails ruby

class WeatherController < ApplicationController
    def data
        @weather = Weather.all   #show data in data.html.erb
        e = Extractor.new
        e.saveData
    end
end

这是我控制器中的一段代码,我使用Extractor从网页获取数据并在localhost:3000 / weather / data上显示它们。 现在我想每10分钟后台运行一次e.saveData,但不刷新我的页面,请你帮忙。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

http://edgeguides.rubyonrails.org/active_job_basics.html

积极工作的目的

重点是确保所有Rails应用程序都有一个就业基础设施,即使它是一个&#34;直接跑步者&#34;的形式。然后我们可以在此基础上构建框架功能和其他宝石,而不必担心各种作业运行程序(如Delayed Job和Resque)之间的API差异。那么,挑选你的排队后端就会成为一个操作问题。

答案 2 :(得分:0)

我是那个问这个问题的人。

经过比较,我发现&#39; rufus-scheduler&#39;是最友好的使用。

https://github.com/jmettraux/rufus-scheduler#readme

上查看

在gemfile中添加它,运行&#39; bundle install&#39;,然后创建一个名为&#39; scheduler.rb&#39;的文件。在/ config / initializer中,然后将代码放入其中(参见示例),完成!