Sha256: 941470c65e253595830e0305649ae4c9937ff50279c574a4c655e736eadb9132

Contents?: true

Size: 729 Bytes

Versions: 3

Compression:

Stored size: 729 Bytes

Contents

module QueueKit
  module Clients
    module CommandTimeout
      def command_timeout(attempts = 0)
        timeout = command_timeout_ms
        timeout += timeout * (attempts / command_clients_size).floor

        if timeout > (max = max_command_timeout_ms)
          timeout = max
        end

        timeout
      end

      def command_timeout_from(options)
        @command_timeout_ms = options[:command_timeout_ms]
        @max_command_timeout_ms = options[:max_command_timeout_ms]
      end

      def command_timeout_ms
        @command_timeout_ms ||= 10
      end

      def max_command_timeout_ms
        @max_command_timeout_ms ||= 1000
      end

      def command_clients_size
        1
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
queue_kit-0.0.10 lib/queue_kit/clients/command_timeout.rb
queue_kit-0.0.9 lib/queue_kit/clients/command_timeout.rb
queue_kit-0.0.8 lib/queue_kit/clients/command_timeout.rb