Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cap development whenever:update_crontab silently succeeds, does nothing #612

Open
chronodm opened this issue Apr 21, 2016 · 7 comments
Open

Comments

@chronodm
Copy link

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 no whenever-related activity.

In my Capfile:

require 'whenever/capistrano'

In deploy/development.rb:

In my deploy.rb:

set :whenever_identifier, -> { "#{fetch(:application)}_#{fetch(:stage)}" }
set :whenever_environment, -> { fetch(:stage, 'production') }

My schedule.rb:

set :output, 'logs/dash2-harvester.log'

every 15.minutes do
  command "STASH_ENV=#{@environment} /apps/dash2/apps/dash2-harvester/bin/harvest.sh"
end
@chronodm
Copy link
Author

I can manually run bundle exec whenever --update-crontab on the deployed server, and that works.

@dmolesUC
Copy link

Although it doesn't set the environment correctly (it's always production).

@benlangfeld
Copy link
Collaborator

Please provide trace output of your full Capistrano run.

@dmolesUC
Copy link

dmolesUC commented Jun 6, 2016

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

@benlangfeld
Copy link
Collaborator

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 #539.

@aminin
Copy link

aminin commented Dec 27, 2016

When cap development whenever:update_crontab does nothing

overriding :whenever_roles

# deploy.rb
set :whenever_roles, :all

solves the problem.

ArturT added a commit to HabitatMap/AirCasting that referenced this issue Jun 3, 2020
…loyment

 ttps://github.com/javan/whenever/issues/612

Fix bug with not updating crontab by whenever gem
@sshaw
Copy link

sshaw commented Feb 20, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants