ManageIQ/manageiq-providers-redfish

View on GitHub
app/models/manageiq/providers/redfish/physical_infra_manager/event_catcher/runner.rb

Summary

Maintainability
A
0 mins
Test Coverage
module ManageIQ::Providers::Redfish
  class PhysicalInfraManager::EventCatcher::Runner \
      < ManageIQ::Providers::BaseManager::EventCatcher::Runner
    def monitor_events
      event_monitor_running
      event_stream.listen do |event|
        @queue << event
      end
    end

    def stop_event_monitor
    end

    def queue_event(event)
      h = PhysicalInfraManager::EventParser.event_to_hash(event, @cfg[:ems_id])
      EmsEvent.add_queue("add", @cfg[:ems_id], h)
    end

    private

    def event_stream
      @event_stream ||= @ems.with_provider_connection(&:event_listener)
    end
  end
end