우분투 서버에서 Rails 3.2 앱과 함께 Whenever gem을 사용하고 있습니다. 나는 그 달의 첫날에 달리고 싶은 월간 직업을 가지고 있지만 일하지 않는 것 같습니다.레일스 : 예약 된 작업이 실행되고 있지 않습니다.
코드가 작동한다는 것을 알고 있습니다. 서버가 실행되지 않았을 때 서버의 콘솔에서 실행했기 때문에 작동합니다. 나는 더 자주 (매시간, 매일) 운영되는 다른 직업을 가지고 있지만이 직업은 뛰지 않았다. 누군가 내가 뭘 잘못했는지 결정하도록 도울 수 있습니까? 내가 서버에 crontab -l
을 실행하면
# 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
:이가 만성 구문 분석 문제처럼
# 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
감사합니다. 나는 Cron이 옳다면 그것은 언제나 문제가 아니라고 생각합니다. Cron이 서버가 온라인 상태 일 때 트리거 할 수 없다고 생각하지 않습니까? 나는 심지어 다른 달을 기다리지 않고, 특히 짧은 기간이 이미 나를 위해 일하기 때문에 바꿀 때조차도 테스트하는 방법을 모르겠습니다. – yellowreign