Sha256: 608ab5fc8fa9900b2934e32f0ca8ba3a6887318e570ed3f925e05fc4219d9ed7

Contents?: true

Size: 1.25 KB

Versions: 9

Compression:

Stored size: 1.25 KB

Contents

#!/usr/bin/env ruby

require 'eventmachine'
# the redis/synchrony gems need to be required in this particular order, see
# the redis-rb README for details
require 'hiredis'
require 'em-synchrony'
require 'redis/connection/synchrony'
require 'redis'

require 'em-synchrony/connection_pool'

require 'flapjack/data/migration'

module Flapjack
  class RedisPool < EventMachine::Synchrony::ConnectionPool

    def initialize(opts = {})
      config = opts.delete(:config)
      @size  = opts[:size] || 5
      logger = opts[:logger]
      super(:size => @size) {
        redis = ::Redis.new(config)
        Flapjack::Data::Migration.correct_notification_rule_contact_linkages(:redis => redis,
          :logger => logger)
        Flapjack::Data::Migration.migrate_entity_check_data_if_required(:redis => redis,
          :logger => logger)
        Flapjack::Data::Migration.create_entity_ids_if_required(:redis => redis,
          :logger => logger)
        Flapjack::Data::Migration.clear_orphaned_entity_ids(:redis => redis,
          :logger => logger)
        Flapjack::Data::Migration.refresh_archive_index(:redis => redis)
        Flapjack::Data::Migration.validate_scheduled_maintenance_periods(:redis => redis,
          :logger => logger)
        redis
      }
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
flapjack-1.5.0 lib/flapjack/redis_pool.rb
flapjack-1.5.0rc1 lib/flapjack/redis_pool.rb
flapjack-1.4.0 lib/flapjack/redis_pool.rb
flapjack-1.4.0rc1 lib/flapjack/redis_pool.rb
flapjack-1.3.0 lib/flapjack/redis_pool.rb
flapjack-1.3.0rc3 lib/flapjack/redis_pool.rb
flapjack-1.3.0rc2 lib/flapjack/redis_pool.rb
flapjack-1.3.0rc1 lib/flapjack/redis_pool.rb
flapjack-1.2.2 lib/flapjack/redis_pool.rb