そのため、初期化時に行うスケジュールされたオブジェクトを参照するための定数を作成しました。
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は、私が多くの経験を持っているものではありません.