#config/scheduler.rb
set :output, 'log/cron.log'
every 1.minutes do
rake 'reports:generate'
end
Когда я бегу crontab -l
я получаю следующий результат:Использование всякий раз, когда камень с Синатрой
* * * * * /bin/bash -l -c 'cd <path-to-app> bundle exec rake reports:generate --silent >> log/cron.log 2>&1'
Во-первых, это, кажется, использовать мой system ruby
, который 1.8.7
, есть ли способ изменить это?
Во-вторых, задача не выполняется, но единственное, что проявляется в моем cron.log
является следующее:
Your Ruby version is 1.8.7, but your Gemfile specified 2.0.0
Я пытался puts
в журнал без успеха, так что я в основном не идея, что происходит. Кажется, что задача начинается, но затем не удается записать ничего в журнал. Я понятия не имею, как отлаживать это, поэтому, пожалуйста, помогите.
Я нахожусь на OS X, и мое приложение работает на Синатре.
редактировать: Я использую rbenv
управлять своими версиями рубин, так что я предполагаю, что я должен сказать хрон, чтобы загрузить rbenv каким-то образом? Когда я cd
в папку приложения и запустить ruby -v
я
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12.5.0]
у вас есть рубиновая версия 1.8.7, переключитесь на 2.0.0 –