每当带有cron或Resque gem的gem用于在rails

时间:2016-12-11 07:41:30

标签: ruby-on-rails ruby cron jobs

我有一个股票投资组合应用程序,可从雅虎财经获取财务数据。我想设置一个能够计算投资组合价值的功能(这将涉及向雅虎发送获取请求以获取所有相关股票价格并计算价格*数量并将其保存在投资组合对象的金额属性中)。我有一个估值模型(属于投资组合),用于创建将每天存储投资组合金额和日期的估值实例。然后,我将在图表上绘制投资组合的估值,以跟踪其股票选择的表现。

我只想在一天结束时每天运行一次。就目前而言,我正在考虑使用when gem来安排任务并运行上述操作来获取和计算价格。这可能是像Resque这样的后台处理框架的一个很好的用例吗?

1 个答案:

答案 0 :(得分:0)

有很多方法可以完成您的任务。其中一种方法是编写rake任务并每天运行一次。对于日程安排,您可以使用In [60]: df.groupby(['ID', 'Date']).sum().unstack('Date') Out[60]: Buy_Or_Not Date 2016-01 2016-02 2016-03 2016-04 2016-05 ID 1 1 1 0 1 0 2 1 1 1 1 0 gem。它提供了描述cron计划的便捷方式。

每当docs:

  

每当Ruby gem提供清晰的写法和语法时   部署cron jobs。

whenever

任务示例:

# We will run rake task every day at some time
every :day, :at => '12:20am' do
  rake 'calculate_averages'
end

开始阅读whenever文档以及如何撰写rake tasks.如何撰写tasks #2