我们有大约十几台服务器的大规模部署。我们想使用Whenever gem,但我想不出一种方法来说明cron 作业应该在哪台机器上运行!我们只希望这些作业在执行后台作业的服务器上运行。
有没有办法指定这个?
我们有大约十几台服务器的大规模部署。我们想使用Whenever gem,但我想不出一种方法来说明cron 作业应该在哪台机器上运行!我们只希望这些作业在执行后台作业的服务器上运行。
有没有办法指定这个?
如果您使用 Capistrano 部署项目并使用默认的每当配方,您可以创建一个新的 Capistrano 角色
role :whenever, "192.168.1.1"
deploy.rb
并在您的文件中设置角色
set :whenever_roles, "whenever"
这样,任务只会在指定的服务器上执行。
任何时候都预先配置为针对 db 角色运行,因此如果您的 db 角色也是后台机器的角色,则您不必执行“角色:每当,“192.168.0.1”黑客攻击。看代码
https://github.com/javan/whenever/blob/master/lib/whenever/capistrano.rb#L2