所以我创建了一个常量来引用我在初始化时执行的计划对象:
rule_engine = Ruleby::Core::Engine.new
Rails.logger.debug "#{Time.now.utc} - Created New Rules Engine"
RULES_ENG = RulesEngineCaller.new(rule_engine)
它计划通过我的代码每 x 分钟运行一次,这会调用一个运行的规则引擎,我会跟踪它运行的频率,它的初始化如下:
require_relative 'rules_eng'
require_relative 'notification'
class RulesEngineCaller
# To change this template use File | Settings | File Templates.
attr_accessor :rule_engine, :last_processing_timestamp, :last_processing_duration, :last_processing_duration_history
def initialize(rule_engine)
@last_processing_timestamp = Time.now.utc
@last_processing_duration = 0
@last_processing_duration_history = Array.new
end
当调用实际函数时会更新一些值:
@last_processing_duration = Time.now.utc - d
然后应该使用以下命令将其显示为我的家庭“视图”的一部分:
<%= RULES_ENG.last_processing_duration.to_s %>
这在我的本地副本上绝对完美,它位于 Windows 和 MySQL 等之下......但我把它放在我拥有的 AWS 实例上,并且这些值要么根本不显示,要么它们显示为它们本来应该存在的值过去,直到我刷新它并返回根本不显示它。
我能想到的唯一区别是:Redhat、Passenger 和 Apache 使其在我的本地副本只是本地的 AWS 上工作。并将其更改为 RULES::last_processing_duration 等似乎没有太大区别。
嗯,帮助这把我逼到了墙边,因为当我回到它大约 3 周时,我一直试图解决这个问题……Rails 并不是我有大量经验的东西。