Rails无论何时没有运行

时间:2014-07-08 06:28:58

标签: ruby-on-rails ruby ruby-on-rails-3 whenever

我希望有一项任务,每隔5分钟从我的用户模型中删除一个特定值。 我的代码:

schedule.rb

every 5.minutes do
 runner 'Site::SubstractSomething.execute'
end

应用程序/任务/ SubstractSomething.rb

module Site
 class SubstractSomething
  def initialize
  end

  def execute
   @users = ::User.all
   @users.each { |user| user.update_heat }
  end
 end
end
用户模型中的

方法:

  def update_heat
   self.heat -= 10
   self.save
  end

然后我跑了:

crontab -r 

whenever --update-crontab --set environment='development'

编辑: 我从命名空间中取出了这个工作,看起来它就是诀窍。谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

您必须require 'SubstractSomething'schedule.rb,并确保$LOAD_PATH包含其所在的目录。有关如何实现的一些可能性,请参阅this question