class Fluent::Tranquility::PusherFactory

Constants

EXCEPTIONS

Public Class Methods

call(*args) click to toggle source
# File lib/fluent/tranquility/pusher_factory.rb, line 9
def self.call(*args)
  new.call(*args)
end

Public Instance Methods

call(params = {}) click to toggle source
# File lib/fluent/tranquility/pusher_factory.rb, line 13
def call(params = {})
  connection = connection_for(params[:url], params[:retries])
  Pusher.new(connection, params[:dataset])
end

Private Instance Methods

connection_for(url, options = {}) click to toggle source
# File lib/fluent/tranquility/pusher_factory.rb, line 20
def connection_for(url, options = {})
  Faraday.new(url: url) do |f|
    f.request :retry, max:                 options.fetch(:max, 5),
                      interval:            options.fetch(:interval, 1),
                      interval_randomness: options.fetch(:interval_randomness, 0.5),
                      backoff_factor:      options.fetch(:backoff_factor, 2),
                      methods:             %w(post),
                      exceptions:          EXCEPTIONS

    f.adapter :net_http_persistent
  end
end