2013-04-05 55 views
2

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

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

回答

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 

为我工作做一些快速测试用时命令。尽管未尝试在部署中使用它。

1

不确定是否在询问问题后添加了这项功能,但您现在似乎可以执行基于角色的安排:请参阅自述文件:https://github.com/javan/whenever

相关问题