开发者

How can Heroku:cron handle a range of hours?

I have a cron job on Heroku that needs to run for 8 hours a day. (Once an hour, eight times, each day.).

These do work as expected: (all code in /lib/ta开发者_如何学运维sks/cron.rake)

if Time.now.hour == 6
  puts "Ok it's 6am and I printed"
  puts "6:00 PST put is done."
end

if Time.now.hour == 7
  puts "Ok it's 7am and I printed"
  puts "7:00 PST put is done."
end

if Time.now.hour == 8
  puts "I printed at 8am"
  puts "8:00 PST put is done."
end

if Time.now.hour == 9
  puts "9:00 PST open put"
  puts "9:00 PST put is done."
end

This code, however, doesn't work:

if Time.now.hour (6..14)
  puts "I did the rake job"
end

I've also tried the following variants. Didn't work. if Time.now.hour == (6..14) if Time.now.hour = (6..14) if Time.now.hour == 6..14 if Time.now.hour = 6..14

Anyone know how I can put a range in a Heroku cron job? Listing lots of jobs by hour just seems wrong.


You want to see if that range includes the hour:

if (6..14).include?(Time.now.hour) 
  puts "I did the rake job"
end


What you want is

if (6..14) === Time.now.hour
  # Run command
end
0

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜