13

我们有大约十几台服务器的大规模部署。我们想使用Whenever gem,但我想不出一种方法来说明cron 作业应该在哪台机器上运行!我们只希望这些作业在执行后台作业的服务器上运行。

有没有办法指定这个?

4

2 回答 2

18

如果您使用 Capistrano 部署项目并使用默认的每当配方,您可以创建一个新的 Capistrano 角色

role :whenever, "192.168.1.1"

deploy.rb并在您的文件中设置角色

set :whenever_roles, "whenever"

这样,任务只会在指定的服务器上执行。

于 2011-02-21T11:20:18.247 回答
1

任何时候都预先配置为针对 db 角色运行,因此如果您的 db 角色也是后台机器的角色,则您不必执行“角色:每当,“192.168.0.1”黑客攻击。看代码

https://github.com/javan/whenever/blob/master/lib/whenever/capistrano.rb#L2

于 2012-01-09T20:02:58.313 回答