1

そのため、初期化時に行うスケジュールされたオブジェクトを参照するための定数を作成しました。

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は、私が多くの経験を持っているものではありません.

4

0 に答える 0