在Heroku上运行Rails应用程序运行夜间报告的最佳方式

时间:2012-09-19 19:37:21

标签: ruby-on-rails heroku report cron-task

我有一个我在Heroku上运行的Rails应用程序。

我想,每个午夜,在我的数据库上运行一些查询(我可以使用ActiveRecord或SQL,而不是挑剔),对结果进行一些轻量处理,并发送带有数据的格式化电子邮件(内联或附加CSV)。

最好的方法是什么?在本地我可以安排一个cron作业来运行脚本,Heroku我不确定。我读到heroku有一个cron附加组件,但是找不到它,而且我不确定那里有什么功能可用。我可以只做一个无头连接到rails控制台并获得输出吗?我可以将其作为佣金任务吗?

任何信息都将受到赞赏。

1 个答案:

答案 0 :(得分:3)

提到的[Heroku Scheduler addon]是进行调度的好方法。

class Report
   def self.generate_and_send
      # Your logic here
   end
end

# To run task in Terminal
$ heroku run rails runner Report.generate_and_send

# What to schedule on Heroku Scheduler
  rails runner Report.generate_and_send