2

使用rails中的when gem来设置cron作业时是否可以有多个schedule.rb文件?我希望有一个常规的 schedule.rb 文件和一个将部署到不同服务器的 reports_schedule.rb 文件,它有自己的特定报告环境。

无论何时使用 schedule.rb 文件如何?这可能吗?

4

2 回答 2

1

如果有点难看,它看起来是可能的。每当执行实例 eval 时,查看 job_list.rb:25 上的源代码。因此,您可以执行以下操作。

日程安排.rb

#Load reporting schedules
instance_eval(File.read('reporting_schedule.rb'), 'reporting_schedule.rb')

# All your regular jobs
# ...

报告时间表.rb

#Need some way to know if you are on the reporting server
if `hostname` =~ /reporting_server/
  # All your reporting jobs
  # ...
end

为我工作时使用命令进行一些快速测试。虽然没有尝试在部署中使用它。

于 2013-05-05T13:58:05.903 回答
1

不确定这是否是在提出问题后添加的,但您现在似乎能够进行基于角色的调度:请参阅https://github.com/javan/whenever上的 README

于 2013-08-20T14:34:18.467 回答