whenever gem have cronjob on only one machine?
Asked Answered
B

2

13

We have a large deployment of around a dozen servers. We'd like to use the Whenever gem but I can't figure out a way to say which machine the cron jobs should go on! We only want these jobs to run on our server that does background jobs.

Is there a way to specify this?

Brant answered 21/2, 2011 at 10:57 Comment(0)
T
18

If you deploy the project with Capistrano and you use the default Whenever recipe, you can create a new Capistrano role

role :whenever, "192.168.1.1"

and set the role in your deploy.rb file

set :whenever_roles, "whenever"

In this way, the task will be executed only on the specified server.

Tangled answered 21/2, 2011 at 11:20 Comment(1)
Works perfectly, thanks! Didn't know whenever had that option, helps to look at the capistrano file though obviously.Britannic
V
1

whenever is preconfigured to run against the db role, so if your db role is also the background machine's role you don't have to do the 'role :whenever, "192.168.0.1"' hack. see the codes

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

Vine answered 9/1, 2012 at 20:2 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.