Cron作业无法在rails 3中工作。我正在使用gem这是我正在使用的代码。
schedule.rb文件
every 1.hours do
command "cd /home/me/my_app/current"
rake "thinking_sphinx:index RAILS_ENV=production"
end
every 1.day, :at => '12.01 am' do
command "cd /home/me/my_app/current"
rake "messages_counter_for_user_and_group RAILS_ENV=production"
command "cd /home/me/my_app/current"
runner "RAILS_ENV=production User.update_all(:daily_message_count => 0)"
end
来自capistrano部署脚本: -
task :long do
transaction do
cron_tab_activate
end
task:cron_tab_activate, :roles=>:app do
send(run_method, "cd #{current_path} && RAILS_ENV=#{stage} whenever --update-crontab test ")
end
我正在使用rvm。 Ruby 1.9.2,Rails 3.0.10
答案 0 :(得分:0)
我建议加载由gem提供的capistrano任务,而不是使用自定义的capistrano任务。
添加到 deploy.rb :
require 'whenever/capistrano'