相关疑难解决方法(0)

每当gem schedule.rb文件:不会重新获得RAILS_ROOT变量

在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
Run Code Online (Sandbox Code Playgroud)

当我尝试从终端执行每当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>'
Run Code Online (Sandbox Code Playgroud)

我正在使用require语句从表单中获取动态值以安排作业.请帮忙解决这个问题?

注意:我已经看到了以下stackoverflow查询: 如何在内部检测Rails环境

遵循此线程获取动态值,但面临require语句的问题. Rails - 每当宝石 - 动态值

Ruby/Rails - 每当gem - 循环cron任务

schedule.rb中的配置文件与Rails每当gem?

谢谢,Sudhir CN

ruby-on-rails whenever ruby-on-rails-3

9
推荐指数
2
解决办法
6571
查看次数

标签 统计

ruby-on-rails ×1

ruby-on-rails-3 ×1

whenever ×1