Open chronodm opened 8 years ago
I can manually run bundle exec whenever --update-crontab
on the deployed server, and that works.
Although it doesn't set the environment correctly (it's always production).
Please provide trace output of your full Capistrano run.
For what it's worth:
$ bundle exec cap development whenever:update_crontab --trace
** Invoke development (first_time)
** Execute development
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke whenever:update_crontab (first_time)
** Execute whenever:update_crontab
Please provide your full Capistrano config. Please also check that you have a server attached to Whenever's default role of :db
. If this is not suitable, perhaps try overriding :whenever_roles
. This is probably related to https://github.com/javan/whenever/pull/539.
When cap development whenever:update_crontab
does nothing
overriding :whenever_roles
# deploy.rb
set :whenever_roles, :all
solves the problem.
Having a similar issue. When a server has a single role, it works, when a server has multiple roles, only the Whenever comments are added to the user's crontab:
server "xxx", :user => "yyy", :roles => %w[web app db]
server "xxx", :user => "yyy", :roles => %w[jobs]
set :whenever_roles, :all
schedule.rb
:
every 2.minutes, :roles => [:web] do # %w[web app db] does not work either
# Results in a crontab with just the Whenever comment
end
every 12.hours, :roles => [:jobs] do
# Works fine
end
When I run
cap development whenever:update_crontab
, it appears to silently succeed, with no output, and the crontab on the server is not updated. Likewise,cap development deploy
shows nowhenever
-related activity.In my
Capfile
:In
deploy/development.rb
:In my
deploy.rb
:My
schedule.rb
: