我有一个/lib/tasks/send_mailer_job.rb 文件。
在生产环境中,我希望该文件每 5 分钟运行一次。然而,在开发时,等待 5 分钟来测试更改会减慢我的速度,所以我希望是 1 分钟。最近我一直在更新代码中的变量,但这很容易出错,因为我可能会 checkin 错误的 # 并终止生产服务器。如何根据环境设置该变量
我有以下内容:
records = Stuff.find(:all, :conditions => ["last_activity_at <= ?", (Time.now - 500)])
..... 1.minute.from_now
让这两个#s、500 和 1.minute.form_now 根据 rails 环境可变的正确方法是什么,对于开发人员,我想要比生产和暂存时更短的#s。
谢谢
最佳答案
使用Rails.env
。示例如下。
class Stuff < ActiveRecord::Base
def self.latest
time = Rails.env == "production" ? 5.minutes.from_now : 1.minute.from_now
self.find(:all, :conditions => ["last_activity_at <= ?", time])
end
end
关于ruby-on-rails - 如何根据当前rails环境设置类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6821364/