在rails中使用whatever gem来设置cron作业时,是否可以有多个schedule.rb文件?我希望有一个常规的schedule.rb文件和一个将要部署到不同服务器的reports_schedule.rb文件,它有自己的特定报告环境。
每当使用schedule.rb文件时如何?这可能吗?
答案 0 :(得分:1)
看起来有点丑陋。查看源代码on job_list.rb:25 whenever just does an instance eval。所以你可以做类似以下的事情。
schedule.rb
#Load reporting schedules
instance_eval(File.read('reporting_schedule.rb'), 'reporting_schedule.rb')
# All your regular jobs
# ...
reporting_schedule.rb
#Need some way to know if you are on the reporting server
if `hostname` =~ /reporting_server/
# All your reporting jobs
# ...
end
使用when命令为我做了一些快速测试。虽然没有尝试在部署中使用它。
答案 1 :(得分:1)
在询问问题后不确定是否添加了此内容,但您现在似乎能够进行基于角色的安排:请参阅https://github.com/javan/whenever上的自述文件