【问题标题】:cron job is not working in ruby on rails in production modecron 作业在生产模式下无法在 ruby​​ on rails 中工作
【发布时间】:2011-11-13 15:29:03
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 cron scheduled-tasks


    【解决方案1】:

    我建议不要使用自定义 capistrano 任务,而是加载由只要 gem 提供的 capistrano 任务。

    添加到 deploy.rb

    require 'whenever/capistrano'
    

    【讨论】:

      猜你喜欢
      • 2013-06-14
      • 2014-01-12
      • 2013-05-25
      • 2014-11-03
      • 1970-01-01
      • 2012-08-29
      • 1970-01-01
      • 2012-04-17
      • 1970-01-01
      相关资源
      最近更新 更多