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