我们大量部署了大约十几台服务器。我们想使用Whenever gem,但我无法想办法说出cron作业应该继续使用哪台机器!我们只希望这些作业在我们的后台作业服务器上运行。
有没有办法指定这个?
答案 0 :(得分:18)
如果使用Capistrano部署项目并使用默认的Whenever recipe,则可以创建新的Capistrano角色
role :whenever, "192.168.1.1"
并在deploy.rb
文件中设置角色
set :whenever_roles, "whenever"
这样,任务将仅在指定的服务器上执行。
答案 1 :(得分:1)
每当预先配置为针对db角色运行时,如果您的db角色也是后台机器的角色,则不必执行'role:once,192.168.0.1“'hack。看到代码
https://github.com/javan/whenever/blob/master/lib/whenever/capistrano.rb#L2