使用rails中的when gem来设置cron作业时是否可以有多个schedule.rb文件?我希望有一个常规的 schedule.rb 文件和一个将部署到不同服务器的 reports_schedule.rb 文件,它有自己的特定报告环境。
无论何时使用 schedule.rb 文件如何?这可能吗?
使用rails中的when gem来设置cron作业时是否可以有多个schedule.rb文件?我希望有一个常规的 schedule.rb 文件和一个将部署到不同服务器的 reports_schedule.rb 文件,它有自己的特定报告环境。
无论何时使用 schedule.rb 文件如何?这可能吗?
如果有点难看,它看起来是可能的。每当执行实例 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
为我工作时使用命令进行一些快速测试。虽然没有尝试在部署中使用它。
不确定这是否是在提出问题后添加的,但您现在似乎能够进行基于角色的调度:请参阅https://github.com/javan/whenever上的 README