2011-10-09 20 views
2

问题里面rake任务的Rails +的Heroku ::定期任务

1)当在Heroku的运行后台任务,并Heroku的有后台任务应该只持续X分钟或可以为任何时间的cron任务运行的时间限制它需要完成处理?

2)为了优化我的应用程序,我想将我的所有处理都移至批处理模式。所以我有很多更新查询。基本上,一个Heroku cron文件变得混乱。我能做些什么来清理代码?我应该创建多个rake任务并从cron文件调用任务任务吗?如果你同意,那么我如何从cron任务调用rake任务?假设有3个独立的rake任务rake账户:账单,rake账户:集合,rake账户:清理。我如何在cron文件中调用它们?

回答

3

我没有任何时间限制,我知道。

使用多个任务而不是一个大的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 
+0

非常感谢:) – Pykih