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