/ / Rails + Heroku :: cronタスクのrakeタスク - heroku、cron、rake、ruby-on-rails-3.1

Rails + Heroku :: cronタスクのrakeタスク - heroku、cron、rake、ruby-on-rails-3.1

質問

1)Herokuでcronタスクを実行しているとき、HerokuはcronタスクがX分だけ持続する時間制限を持っていますか、または処理を完了するのに必要な時間にcronタスクを実行できますか?

2)私のアプリケーションを最適化するために、私はすべてのバッチモードへの私の処理。だから私は多くの更新クエリを持っています。基本的に、1つのHeroku cronファイルが乱雑になっています。コードをクリーンアップするにはどうすればよいですか?複数のレーキタスクを作成し、cronファイルからタスクタスクを呼び出す必要がありますか?

2。1)それに同意するならば、どのようにしてcronタスクからrakeタスクを呼び出すのですか?請求、レイクアカウント:コレクション、レーキアカウント:クリーンアップの3つの独立したレーキタスクがあるとしましょう。どのようにそれらをcronファイルで呼び出すのですか?

回答:

回答№1の場合は3

私が知っている時間制限はありません。

1つの大きなcronタスクの代わりに複数のタスクを使用する良い考えです。デバッグとメンテナンスが簡単になるだけでなく、必要に応じて個別に実行することも簡単にできます。また、ファクタドコードはすべて単なる良いアイデアです。

別のタスクからタスクを実行することは、 Rake::Task[task].execute。あなたはこのようなものを持っています:

desc "Heroku cron job"
task :cron => :environment do
%w{accounts:billing accounts:collections accounts:cleanup}.each do |task|
Rake::Task[task].execute
end
end