【发布时间】:2011-12-20 03:51:51
【问题描述】:
在 schedule.rb 文件中,声明:
require "#{RAILS_ROOT}/config/environment.rb"
every "10 10 2 * * *" do
command "mysqldump -u #{@db_username} -p#{@db_password} --single-transaction #{@db_name} > #{@backup_Path}/#{@db_name}.sql 2> log/error_crontab.log"
end
当我尝试从终端执行任何时候的 cmd 时,出现以下错误:
config/schedule.rb:48:in `initialize': uninitialized constant Whenever::JobList::RAILS_ROOT (NameError)
from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/job_list.rb:19:in `instance_eval'
from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/job_list.rb:19:in `initialize'
from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever.rb:16:in `new'
from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever.rb:16:in `cron'
from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/command_line.rb:40:in `run'
from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/command_line.rb:7:in `execute'
from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/bin/whenever:38:in `<top (required)>'
from /usr/local/bin/whenever:19:in `load'
from /usr/local/bin/whenever:19:in `<main>'
我正在使用 require 语句从表单中获取动态值来安排作业。请帮忙解决这个问题?
注意:我看到了以下 stackoverflow 查询: How to detect Rails environment inside whenever
关注此线程以获取动态值,但遇到 require 语句的问题。 Rails - Whenever gem - Dynamic values
【问题讨论】:
-
Rails 3 弃用
RAILS_ROOT以支持Rails.root。你试过了吗? -
Rails.root 也会抛出同样的错误
标签: ruby-on-rails ruby-on-rails-3 whenever