Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku:cron如何处理一系列小时?_Ruby On Rails_Cron_Heroku - Fatal编程技术网

Ruby on rails Heroku:cron如何处理一系列小时?

Ruby on rails Heroku:cron如何处理一系列小时?,ruby-on-rails,cron,heroku,Ruby On Rails,Cron,Heroku,我在Heroku上有一个cron作业,每天需要运行8小时。(一小时一次,每天八次。) 这些确实如预期的那样起作用: (所有代码位于/lib/tasks/cron.rake中) 但是,此代码不起作用: if Time.now.hour (6..14) puts "I did the rake job" end 我还尝试了以下变体。没用。 如果Time.now.hour==(6..14) 如果Time.now.hour=(6..14) 如果Time.now.hour==6..14 如果Tim

我在Heroku上有一个cron作业,每天需要运行8小时。(一小时一次,每天八次。)

这些确实如预期的那样起作用: (所有代码位于/lib/tasks/cron.rake中)


但是,此代码不起作用:

if Time.now.hour (6..14)
  puts "I did the rake job"
end
我还尝试了以下变体。没用。 如果Time.now.hour==(6..14) 如果Time.now.hour=(6..14) 如果Time.now.hour==6..14 如果Time.now.hour=6..14

有人知道我如何在Heroku cron的工作中设置范围吗?按小时列出大量工作似乎是错误的。

你想要的是

if (6..14) === Time.now.hour
  # Run command
end
你想要的是

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

您希望查看该范围是否包括小时:

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

您希望查看该范围是否包括小时:

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

需要明确的是:这是因为
Time.now.hour==(6..14)
检查当前小时是否等于某个范围,这永远不会是真的。但是,range对象有一个名为
==
的特殊方法,在本例中,该方法不是相等检查,而是包含检查。需要明确的是:这是有效的,因为
Time.now.hour==(6..14)
检查当前小时是否等于某个范围,这永远不会为真。但是,range对象有一个名为
==
的特殊方法,在本例中,该方法不是相等检查,而是包含检查。虽然我+1两者都有,但我更喜欢这种语法,因为第一眼就可以理解。虽然我+1两者都有,与
==
相比,我更喜欢这种语法,因为第一眼就能理解它。