W pliku schedule.rb, oświadczenie:gdy plik gem schedule.rb: nie recongize RAILS_ROOT zmienną
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
Kiedy próbuję wykonać lub zminimalizowania cmd z terminalu, otrzymuję następujący błąd:
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>'
Używam instrukcji require, aby uzyskać wartości dynamiczne z formularza, aby zaplanować pracę. Pomóż rozwiązać ten problem?
Uwaga: Widziałem następujące StackOverflow zapytania: How to detect Rails environment inside whenever
obserwuję ten wątek, aby uzyskać wartości dynamiczne, ale w obliczu problemu z wymagać oświadczenia. Rails - Whenever gem - Dynamic values
Ruby/Rails - Whenever gem - Loop cron tasks
config file in schedule.rb with Rails Whenever gem?
Dzięki, Sudhir C.N.
Rails 3 odrzuca 'RAILS_ROOT' na rzecz' Rails.root'. Czy próbowałeś już tego? – polarblau
Rails.root również generuje ten sam błąd. – sudhir