當在rails中使用when gem來設置cron作業時,是否可以有多個schedule.rb文件?我期待有一個常規的schedule.rb文件和一個將要部署到不同服務器並具有自己的特定報告環境的reports_schedule.rb文件。多個schedule.rb文件與每當gem
如何使用schedule.rb文件?這可能嗎?
當在rails中使用when gem來設置cron作業時,是否可以有多個schedule.rb文件?我期待有一個常規的schedule.rb文件和一個將要部署到不同服務器並具有自己的特定報告環境的reports_schedule.rb文件。多個schedule.rb文件與每當gem
如何使用schedule.rb文件?這可能嗎?
它看起來像是有可能有點醜陋。查看源代碼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
爲我工作做一些快速測試用時命令。儘管未嘗試在部署中使用它。
不確定是否在詢問問題後添加了這項功能,但您現在似乎可以執行基於角色的安排:請參閱自述文件:https://github.com/javan/whenever