2

このリンクhttps://github.com/javan/wheneverをたどりましたが、開発モードで cronjob を実行しようとしましたが、機能しません。以下の行で知りたいです:

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

とはMyModel.some_process?

Rubyファイルを実行したい場合は、このように書いています

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

...それは正しい方法ですか、それともcronjob.rbファイルのパスを次のように指定する必要がありますか?

runner "app/controllers/cronjob.rb"

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

4

1 に答える 1

2

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

それによると、アプリケーションのコンテキストで Ruby コードを実行します。または、モデルに対して何らかのメソッドを実行できます(ドキュメントが表示しようとするたびに)。これは Rails-2 では少し異なります。また、デフォルトの job_types の when ドキュメントが表示される場合、たとえば 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ます。お役に立てれば!

于 2012-05-09T09:21:05.537 に答える