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參與 –
可能沒有理智的選擇,但它保存到數據庫,你爲什麼不希望涉及分貝? –