开发者

What's the syntax to run a cron job on heroku every hour?

I just acquired the paid version of Heroku's cron, in order to run some tasks every hour. What I would like to know is the syntax I should use to actually get it to run every hour. So far I have this, Could you please tell me if it's correct:

desc "Tasks called by the Heroku cron add-on"
task :cron => :environment do
  if Time.now.hour % 1 == 0 # run every sixty minutes?

    puts "Updating view counts...."
    Video.update_view_counts  
    puts "Finished....开发者_C百科."

    puts "Updating video scores...."
    VideoPost.update_score_caches
    puts "Finished....."

    puts "Erasing videos....."
    Video.erase_videos!
    puts "Finished....."

  end

  if Time.now.hour == 0 # run at midnight

  end
end

I need to know if this line with the 1 in it is the way to go...

if Time.now.hour % 1 == 0

Thanks in advance for your help,

Best Regards.


If you want to run every hour, don't bother checking. Heroku will run it hourly.

Since %1 will always return 0, better to just have:

desc "Tasks called by the Heroku cron add-on"
task :cron => :environment do
  puts "Updating view counts...."
  Video.update_view_counts  
  puts "Finished....."
  #...

  if Time.now.hour == 1 #1am
    #...
  end

end

Also, if you want to be able to run Video.update_view_counts when you need to, you could instead (after creating the rake task):

Rake::Task["video:update_view_counts"].invoke

That way you can run it inside of cron, and manually if needed


Since, you already have an hourly cron, you don't have to check for the time to run the code.

task :cron => :environment do

    #<--- hourly cron begins 
    puts "Updating view counts...."
    Video.update_view_counts  
    puts "Finished....."

    puts "Updating video scores...."
    VideoPost.update_score_caches
    puts "Finished....."

    puts "Erasing videos....."
    Video.erase_videos!
    puts "Finished....."
    #hourly cron ends  --->

    if Time.now.hour == 0 # run at midnight

    end  

end
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜