【发布时间】:2018-01-07 08:05:24
【问题描述】:
我正在使用 Rails 5。我想定期运行一个任务,所以我正在阅读有关“无论何时”的 gem。安装后,我创建了文件 ./config/schedule.rb 与
# Learn more: http://github.com/javan/whenever
set :environment, "development"
every 10.minutes
rake "events:calc_index"
end
不幸的是,当我尝试使用“whenever --crontab”在我的系统中安装它时,我被告知我必须这样做,我收到了这个错误
localhost:cindex davea$ whenever --update-crontab
/Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever/job_list.rb:25:in `instance_eval': config/schedule.rb:25: syntax error, unexpected keyword_end, expecting end-of-input (SyntaxError)
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever/job_list.rb:25:in `initialize'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever.rb:12:in `new'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever.rb:12:in `cron'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever/command_line.rb:54:in `whenever_cron'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever/command_line.rb:107:in `updated_crontab'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever/command_line.rb:35:in `run'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/lib/whenever/command_line.rb:6:in `execute'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/whenever-0.9.7/bin/whenever:41:in `<top (required)>'
from /Users/davea/.rvm/gems/ruby-2.4.0/bin/whenever:22:in `load'
from /Users/davea/.rvm/gems/ruby-2.4.0/bin/whenever:22:in `<main>'
from /Users/davea/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `eval'
from /Users/davea/.rvm/gems/ruby-2.4.0/bin/ruby_executable_hooks:15:in `<main>'
安装我的每当 cron 作业的正确方法是什么?
【问题讨论】:
-
快速浏览一下文档,您似乎需要这样做:
every 10.minutes do,而不是every 10.minutes。 -
是的,解决了它。
-
很高兴它成功了。如果您愿意接受,我将其发布为答案。祝你好运!
标签: ruby-on-rails cron ruby-on-rails-5 whenever