Ruby-on-Rails每当由Javan工作一步

时间:2012-04-04 11:41:28

标签: ruby-on-rails ruby-on-rails-3 cron crontab cron-task

我只是通过javan教程跟踪railscast,但我似乎无法实现它。 是否必须安装capistrano才能拥有cron工作?这是因为我没有deploy.rb。我详细列出了这些步骤。如果有任何步骤我错过了导致我的cron不工作?我总是得到一份报告说我收到了一封新邮件,但我没有发送任何电子邮件操作。

步骤1:

wheneverize .

====> config文件夹中的schedule.rb

第2步: [Scheduler.rb]

every '1 * * * *' do
   runner 'Company.count'
end

第3步:[什么是"存储"?]

whenever --update-crontab store

第4步:[config / deploy.rb]< - 我没有部署文件,所以我自己创建。

after "deploy:symlink", "deploy:update_crontab"  

namespace :deploy do  
  desc "Update the crontab file"  
  task :update_crontab, :roles => :db do  
     run "cd #{release_path} && whenever --update-crontab #{application}"  
  end  
end 

第5步:

whenever --update-crontab store

crontab -l

我错过了什么?为什么它不起作用?请一步一步赐教,因为我是ROR的新手..谢谢。

1 个答案:

答案 0 :(得分:2)

Whenever docs有一个使用 Capistrano 部署每当的示例。只需将以下内容添加到 Capistrano 部署配置的顶部。

set :whenever_command, "bundle exec whenever"  # set this first if using bundler
require "whenever/capistrano"

然后每当将作为部署的一部分安装到 cron 中。


<强>更新

为目标计算机的Capistrano部署用户测试每当成功更新 cron ssh 到目标计算机并运行{ {1}}。您应该看到与此类似的输出:

crontab -l