Как заставить cron работать при использовании Javan-всегда в Rails - PullRequest
3 голосов
/ 11 ноября 2009

Я настроил свой файл schedule.rb следующим образом.

set :cron_log, "/log/cron_log.log"
if Rails.env.development?
  every 1.minute do
    runner "SomeModel.move_values"
    runner "SomeOtherModel.dispense"
   end
end

Я также заставляю его работать в режиме разработки всякий раз, когда --update-crontab trunk --set environment = development

Но мои методы модели (методы класса) никогда не вызываются. Есть ли способ, которым я могу проверить, правильно ли настроено. когда я просто использую обновление, оно сбрасывает настройки, чтобы использовать производственную среду.

Ответы [ 2 ]

2 голосов
/ 11 ноября 2009

Я только что использовал тот же плагин javan-ever.

В терминале введите crontab -l. Если вы видите, что crontab сгенерирован правильно, то вы знаете, что это либо код, либо какой-то сервер.

Возможно, вы захотите сделать set :environment, RAILS_ENV в своем файле schedule.rb для динамической настройки среды.

Райан Бейтс сделал хороший скринкаст на эту тему: http://railscasts.com/episodes/164-cron-in-ruby

Кроме того, существуют альтернативы на основе Интернета, например: webbasedcron

1 голос
/ 29 октября 2011

Run всякий раз, когда --set environment = test -w

чтобы создать свой crontab в тестовой среде, очевидно, вы можете заменить тест на любую среду, в которой вы работаете.

...