Sha256: 9d5ae52fa9939b6ebadd0875f274ffccf2aad6b2b87d281e4839f68e42100bb9

Contents?: true

Size: 1.45 KB

Versions: 31

Compression:

Stored size: 1.45 KB

Contents

module Katello
  class EventQueue
    @event_types = {}

    def self.clear_events(event_type, object_id, on_or_earlier_than)
      Katello::Event.where(:in_progress => true, :object_id => object_id, :event_type => event_type).where('created_at <= ?', on_or_earlier_than).delete_all
    end

    def self.next_event
      first = Katello::Event.where(:in_progress => false).order(:created_at => 'asc').first
      return if first.nil?
      last = ::Katello::Event.where(:in_progress => false, :object_id => first.object_id,
                                    :event_type => first.event_type).order(:created_at => 'desc').first
      mark_in_progress(first)
      last
    end

    def self.mark_in_progress(event)
      ::Katello::Event.where(:in_progress => false, :object_id => event.object_id, :event_type => event.event_type).
                       update_all(:in_progress => true)
    end

    def self.reset_in_progress
      Katello::Event.where(:in_progress => true).update_all(:in_progress => false)
    end

    def self.push_event(event_type, id)
      Event.create!(:event_type => event_type, :object_id => id)
    end

    def self.register_event(event_type, klass)
      @event_types[event_type] = klass.name
    end

    def self.supported_event_types
      @event_types.keys
    end

    def self.event_class(event_type)
      fail _("Invalid event_type %s") % event_type if @event_types[event_type].nil?
      @event_types[event_type].constantize
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
katello-3.12.3 app/services/katello/event_queue.rb
katello-3.12.2 app/services/katello/event_queue.rb
katello-3.12.1 app/services/katello/event_queue.rb
katello-3.11.2 app/services/katello/event_queue.rb
katello-3.10.2 app/services/katello/event_queue.rb
katello-3.12.0 app/services/katello/event_queue.rb
katello-3.12.0.rc2 app/services/katello/event_queue.rb
katello-3.10.1.1 app/services/katello/event_queue.rb
katello-3.12.0.rc1 app/services/katello/event_queue.rb
katello-3.10.1 app/services/katello/event_queue.rb
katello-3.11.1 app/services/katello/event_queue.rb
katello-3.11.0 app/services/katello/event_queue.rb
katello-3.11.0.rc2 app/services/katello/event_queue.rb
katello-3.11.0.rc1 app/services/katello/event_queue.rb
katello-3.10.0 app/services/katello/event_queue.rb
katello-3.10.0.rc1.1 app/services/katello/event_queue.rb
katello-3.9.1 app/services/katello/event_queue.rb
katello-3.10.0.rc1 app/services/katello/event_queue.rb
katello-3.9.0 app/services/katello/event_queue.rb
katello-3.8.1 app/services/katello/event_queue.rb