我正在尝试通过一个 rails 项目的when gem 创建我的第一个 cron 作业。运行时cap deploy
,我收到此错误:
...
* 2013-01-01 22:29:00 executing `whenever:update_crontab'
* executing "cd /var/www/vhosts/famnfo.com/releases/20130102042834 && bundle exec whenever --update-crontab FamNFo --set environment=production --roles db"
servers: ["famnfo.com"]
[famnfo.com] executing command
** [out :: famnfo.com] /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/core_ext/numeric/time.rb:49:in `days': wrong number of arguments (1 for 0) (ArgumentError)
** [out :: famnfo.com] from config/schedule.rb:23:in `initialize'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/job_list.rb:25:in `instance_eval'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/job_list.rb:25:in `initialize'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever.rb:15:in `new'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever.rb:15:in `cron'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/command_line.rb:55:in `whenever_cron'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/command_line.rb:106:in `updated_crontab'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/command_line.rb:36:in `run'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/lib/whenever/command_line.rb:7:in `execute'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/gems/whenever-0.8.1/bin/whenever:41:in `<top (required)>'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/bin/whenever:19:in `load'
** [out :: famnfo.com] from /var/www/vhosts/famnfo.com/shared/bundle/ruby/1.9.1/bin/whenever:19:in `<main>'
command finished in 2308ms
*** [deploy:update_code] rolling back
...
这是我的 schedule.rb 代码:
set :output, "#{path}/log/cron.log"
every 1.day :at => "8:00am" do
runner "BirthdayReminders.send_birthday_email_reminders"
end
我已将此添加到我的 capistrano deploy.rb 文件中
set :whenever_command, "bundle exec whenever"
require "whenever/capistrano"