Ubuntu サーバー上の Rails 3.2 アプリでWhen ジェムを使用しています。月の初日に実行したい月次ジョブがありますが、うまくいきませんでした。
コードが実行されていないことがわかったときにサーバー上のコンソールから実行したため、コードが機能することはわかっています。より頻繁に (毎時、毎日) 実行される他のジョブがありますが、このジョブは実行されませんでした。誰かが私が間違ったことを判断するのを手伝ってくれますか?
# schedule.rb
every 1.month, :at => "beginning of the month at 3am" do
rake "users:update_monthly"
end
# lib/schedule.rake
namespace :users do
task :update_monthly => :environment do
User.update_monthly
end
end
crontab -l
サーバー上で実行すると:
# Begin Whenever generated tasks for: whenever_schedule
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/articles
0 3 1 * * /bin/bash -l -c 'cd /var/deploy/foo/web_head/releases/20130801200106 && RAILS_ENV=production bundle exec rake users:update_monthly --silent'
# End Whenever generated tasks for: whenever_schedule