Подбирайте рельсы, когда бегаете
Мне нужно параметризировать некоторые из моих задач cron, которые я генерирую каждый раз, с помощью значений, к которым я обычно обращаюсь с помощью ram config gem. Поэтому я хочу сделать что-то вроде:
every 2.hours do
execute 'my/command/with/parameter #{Settings.parameter}'
end
Когда я пытаюсь сделать это, я получаю:
config/schedule.rb:14:in `initialize': uninitialized constant Whenever::JobList::Settings (NameError)
Итак, я заключаю, что whenever
не работает в среде Rails, и это позор, так как я хотел бы сделать с ним кое-что более крутое (запланировать работу на основе состояния БД после запуска rake db:seed
, например). Есть ли способ получить whenever
работать в контексте Rails?
1 ответ
Rails поставляется с " runner", который позволяет сценарию без веб-стека иметь доступ к среде и конфигурации приложения Rails. Это специально для такого рода задач.