0
我有这样的代码从Alexa
刮去http://example.com/
网站排名在lib/recurring.rb
我有Rails:如何在主屏幕中显示从后台任务获取的数据?
module Recurring
class MyTask
include Delayed::RecurringJob
run_every 1.day
run_at '12:00pm'
timezone 'UTC'
def perform
url = "http://alexa.com/siteinfo/example.com"
doc = Nokogiri::HTML(open(url))
@rank = doc.at_css("strong.metrics-data.align-vmiddle").text
end
end
end
我有一个raketask在lib/tasks/my_task.rake
namespace :recurring do
desc "Get website rank everyday at 12:00 OM UTC"
task init: :environment do
#Delete any previously-scheduled recurring jobs
Delayed::Job.where('(handler LIKE ?)', '--- !ruby/object:Recurring::%').destroy_all
Recurring::MyTask.schedule!
end
end
执行此,当我运行
$ rake recurring:init
任务每天执行一个牛逼12:00 UTC与我在@rank
网站排名(行号10 recurring.rb
)。
但我怎么能显示我的索引页这个数据?我是新来的后台处理。任何帮助非常感谢。
你的问题不明确。一旦你将这个排名信息保存到分贝,它会自动反映在你的意见。所以要么是问题是你没有将数据保存到数据库,或者你不知道如何在视图中显示它,这是什么? –
@Joel_Blum我不保存'@ rank'到db。有没有办法,我可以得到它diplayed没有DB参与 –
可能没有理智的选择,但它保存到数据库,你为什么不希望涉及分贝? –