使用 Rails 缓存和每当 gem 预先计算多个函数

问题描述

我有一组重功能

class SomeClass
   def func1
      Rails.cache.fetch :func1_value,expires_in: 1.hour do
         compute_func1
      end
   end

   def force_compute_func1
      func1_result = compute_func1
      Rails.cache.write :func1_value,func1_result,expires_in: 1.hour
      end
   end

   // Have multiple functions like this func2,func3,func4 ....

   private
   def compute_func1
    // heavy DB opertaions
   end
end

现在,所有调用者都使用 func1获取数据。

使用 whenever gem,我愿意

every 1.hour
   runner 'SomeClass.force_compute_func1'
end

我的问题是这个。对于一个功能,这种方法似乎没问题。对于许多函数(比如 100 个),我如何编写一个不会一次又一次重复此操作的更好的代码

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...