在数据库中保存rake任务以在视图中添加

时间:2013-06-09 21:35:25

标签: ruby-on-rails ruby ruby-on-rails-3 nokogiri httparty

我正在尝试将rake任务保存到我的数据库中,以便在我的视图中显示内容。

这是任务:

desc "Fetch Digital Trends"
task :fetch_trends => :environment do
require 'nokogiri'
  require 'httparty'
  url = "http://www.digitaltrends.com/computing/"
    doc = Nokogiri::HTML(open(url))
    doc.css(".post").each do |item|
    title = item.at_css(".content h3").text
    link = item.at_css(".content h3 a")[:href]
    puts "#{title} - #{link}"
  end
end

可以每小时运行一次此任务来更新内容吗?

2 个答案:

答案 0 :(得分:2)

你可以使用cron。看看https://github.com/javan/whenever(Ruby中的Cron作业)

答案 1 :(得分:0)

你可以用两种方式做到这一点。

方法1:

  1. 从数据库中读取。

  2. 写入lib / tasks / name.rake

  3. 中的文件
  4. 加载文件

  5. 执行rake任务

  6. 方法2:

    1. 从数据库加载字符串

    2. 使用eval