Sha256: 58244ae8ebc1a885f3636170ebea96f16a4444ba5185b0ede6154e06b9c22f8b

Contents?: true

Size: 1.05 KB

Versions: 9

Compression:

Stored size: 1.05 KB

Contents

module Rearview
  class ResultsHandler
    attr_reader :status,:job,:monitor_results
    include Rearview::Logger
    def initialize(job,monitor_results)
      @job = job
      @status = Job::Status::ERROR
      @monitor_results = monitor_results || {}
    end
    def run
      logger.info "#{self} run"
      normalized_results = Rearview::MonitorRunner.normalize_results(@monitor_results)
      @status = normalized_results[:status] || @status

      job_data = JobData.find_or_create_by(job_id: @job.id)
      job_data.data = normalized_results
      job_data.save!

      @job.last_run = Time.now.utc
      event = if Job::Status.values.include?(@status.to_s)
                @status.to_sym
              else
                :error
              end
      logger.info "#{self} firing event :#{event} for #{@job.inspect}"
      @job.fire_event(event,{:monitor_results=>@monitor_results,:job_error=>{:message=>normalized_results[:output]}})

      self
    rescue
      logger.error "#{self} process results failed: #{$!}\n#{$@.join("\n")}"
      self
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rearview-1.2.3-jruby lib/rearview/results_handler.rb
rearview-1.2.2.rc.2-jruby lib/rearview/results_handler.rb
rearview-1.2.2.rc.1-jruby lib/rearview/results_handler.rb
rearview-1.2.1-jruby lib/rearview/results_handler.rb
rearview-1.2.0-jruby lib/rearview/results_handler.rb
rearview-1.1.2-jruby lib/rearview/results_handler.rb
rearview-1.1.1-jruby lib/rearview/results_handler.rb
rearview-1.1.0-jruby lib/rearview/results_handler.rb
rearview-1.0.3.rc.4-jruby lib/rearview/results_handler.rb