2012-05-09 2 views
2

Я пошел по этой ссылке https://github.com/javan/whenever, но я попытался запустить cronjob в режиме разработки, он не работает. Я хотел бы знать, в следующих строках:не удалось запустить cronjob в ruby, используя когда-нибудь

every 3.hours do 
    runner "MyModel.some_process"  
    rake "my:rake:task"     
    command "/usr/bin/my_great_command" 
end 

MyModel.some_process Что такое?

Если я хочу запустить рубиновый файл я написал этот путь

every 1.minute do 
    runner "cronjob.rb",:environment => "development" 
end 

... это правильный путь или я должен указать путь к файлу cronjob.rb как:

runner "app/controllers/cronjob.rb" 

Где я могу видеть результат для грабли и команды?

ответ

2

Подробнее о бегуне здесь http://guides.rubyonrails.org/command_line.html#rails-runner.

В соответствии с этим он выполняет код Ruby в контексте приложения. Или, так сказать, вы можете выполнить какой-то метод для модели (который всякий раз, когда документация пытается показать). В Rails-2 это будет немного отличаться. Кроме того, если вы обратитесь к документации всегда, когда для job_types по умолчанию, например, для job_type бегуна это делает включено следующее:

"cd :path && script/rails runner -e :environment ':task' :output" 

Так что, когда вы делаете runner "MyModel.some_process" в schedule.rb он будет идти по пути приложения и выполнить script/rails runner -e <development specified by you> MyModel.some_process, в-короткие он выполняет MyModel.some_process. Надеюсь это поможет!

Смежные вопросы