Rails定期运行对象方法

时间:2014-06-25 15:48:21

标签: ruby-on-rails ruby cron whenever

我需要每天在Rails应用程序中运行一次方法。

我正在考虑使用随时随地的宝石,但我意识到我有一些问题。

我需要在对象的实例上运行该方法。所以我不能只有这样的东西:

every 1.day do
    runner 'Object.method'
end

我正在考虑做类似

的事情
every 1.day do
  runner 'Object.where(status: "the_status_i_want").each { |object| object.method }'
end

但我不知道如何在'when。'中测试这种行为。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Ryan Bates有一个关于将宝石整合到Rails中的精彩剧集

http://railscasts.com/episodes/164-cron-in-ruby-revised

(该网站上还有一个免费版本,但它有点旧,http://railscasts.com/episodes/164-cron-in-ruby