Этот вопрос, вероятно, будет иметь смысл, если вы знаете о whenever gem для создания cron.
Для моего приложения я хочу использовать whenever
во всех средах, включая тестирование и разработку.
Мой schedule.rb
выглядит так:
set :output, {
:error => "#{path}/log/error.log",
:standard => "#{path}/log/cron.log"
}
set :environment, Rails.env.to_sym
every 5.minutes do
rake 'db:activity:synchronize'
end
но он не работает на Rails.env.to_sym
(и то же самое означает RAILS_ENV
):
/home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/lib/whenever/job_list.rb:21:in `eval': uninitialized constant Whenever::JobList::Rails (NameError)
from /home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/lib/whenever/job_list.rb:21:in `eval'
from /home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/lib/whenever/job_list.rb:21:in `initialize'
from /home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/lib/whenever.rb:15:in `new'
from /home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/lib/whenever.rb:15:in `cron'
from /home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/lib/whenever/command_line.rb:41:in `run'
from /home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/lib/whenever/command_line.rb:8:in `execute'
from /home/marius/.rvm/gems/[email protected]/gems/whenever-0.6.8/bin/whenever:38:in `<top (required)>'
from /home/marius/.rvm/gems/[email protected]/bin/whenever:19:in `load'
from /home/marius/.rvm/gems/[email protected]/bin/whenever:19:in `<main>'
Итак, мой вопрос в основном сводится к следующему:
- Как получить доступ к текущей среде или
- Что мне делать, чтобы использовать
whenever
во всех средах?