2012-05-09 10 views
2

私はこのリンクをたどっていますhttps://github.com/javan/whenever私は開発モードでcronjobを動作させようとしましたが動作しません。 MyModel.some_processは何いつも使っているルビーのcronjobを実行できません

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

:私は、下の行に知っていただきたいと思いますか?

私は...私はこのよう

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

を書かれているRubyのファイルを実行したい場合は、それが正しい方法であるか、私は次のようにcronjob.rbファイルのパスを指定する必要があります:

runner "app/controllers/cronjob.rb" 

rakeとコマンドの出力はどこで確認できますか?

答えて

2

ランナーの詳細はhttp://guides.rubyonrails.org/command_line.html#rails-runnerを参照してください。

それによると、Rubyコードはアプリケーションのコンテキストで実行されます。つまり、あるモデル(ドキュメントが表示しようとするたびに)に対して何らかのメソッドを実行することができます。これはRails-2では若干異なります。デフォルトのjob_typesのためいつでもドキュメントを参照してください場合にも、あなたがschedule.rbrunner "MyModel.some_process"を行う際に、例えば雇用形態のランナーのためにはfollowing-

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

は、だから、アプリケーションパスに行くんやで、短い、script/rails runner -e <development specified by you> MyModel.some_processを実行しますMyModel.some_processを実行します。お役に立てれば!

関連する問題