2011-04-13 41 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