Sha256: 1be7ed388b77d35cf739153b4ce8b2d9e470abc37ec157efce2fa663ff41e724

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

require 'bunny'
require 'mono_logger'
module Pwwka
  class ConfigurationError < StandardError; end
  class Configuration

    attr_accessor :rabbit_mq_host
    attr_accessor :topic_exchange_name
    attr_accessor :delayed_exchange_name
    attr_accessor :logger
    attr_accessor :options
    attr_accessor :async_job_klass
    attr_accessor :send_message_resque_backoff_strategy
    attr_accessor :requeue_on_error
    attr_writer   :keep_alive_on_handler_klass_exceptions

    def initialize
      @rabbit_mq_host        = nil
      @topic_exchange_name   = "pwwka.topics.#{Pwwka.environment}"
      @delayed_exchange_name = "pwwka.delayed.#{Pwwka.environment}"
      @logger                = MonoLogger.new(STDOUT)
      @options               = {}
      @send_message_resque_backoff_strategy = [5,                  #intermittent glitch?
                                               60,                 # quick interruption
                                               600, 600, 600] # longer-term outage?
      @requeue_on_error = false
      @keep_alive_on_handler_klass_exceptions = false
      @async_job_klass = Pwwka::SendMessageAsyncJob
    end

    def keep_alive_on_handler_klass_exceptions?
      @keep_alive_on_handler_klass_exceptions
    end

    def payload_logging
      @payload_logging || :info
    end

    def payload_logging=(new_payload_logging_level)
      @payload_logging = new_payload_logging_level
    end

    def allow_delayed?
      options[:allow_delayed]
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pwwka-0.10.0 lib/pwwka/configuration.rb
pwwka-0.10.0.RC lib/pwwka/configuration.rb