2011-04-13 39 views
1

我該如何運行任務reklamer:每隔15分鐘在cron.rake運行?Heroku cron求職幫助

I have my cron.rake file: 
desc "This task is called by the Heroku cron add-on" 
task :cron => :environment do 
    if Time.now.hour % 4 == 0 # run every four hours 
    puts "Updating feed..." 
    NewsFeed.update 
    puts "done." 
    end 

回答

5

Heroku只提供每天或每小時cron作業,所以我認爲你運行cron作業每隔15分鐘運氣不好。

相反,您可以使用delayed_job每15分鐘運行一次作業。在每次運行結束時,你的工作代碼應該創建另一份工作,在15分鐘後運行。根據您的需求,您可以計算從工作開始或結束15分鐘。

+0

我需要一名工人運行delayed_job + – 2011-04-13 07:39:25

+0

是的,您需要一名工人。你可以嘗試使用像HireFire(https://github.com/meskyanichi/hirefire)這樣的東西來降低成本。 – 2011-04-13 07:47:53

+0

你能舉一個例子使用delayed_job嗎? – 2011-04-13 08:10:24