diff --git a/lib/stream-chat/client.rb b/lib/stream-chat/client.rb index 8df1bc6..d4970ef 100644 --- a/lib/stream-chat/client.rb +++ b/lib/stream-chat/client.rb @@ -4,6 +4,7 @@ require 'open-uri' require 'faraday' require 'faraday/multipart' +require 'faraday/net_http_persistent' require 'jwt' require 'time' require 'stream-chat/channel' @@ -46,7 +47,10 @@ def initialize(api_key = '', api_secret = '', timeout = 6.0, **options) faraday.options[:open_timeout] = @timeout faraday.options[:timeout] = @timeout faraday.request :multipart - faraday.adapter :net_http + faraday.adapter :net_http_persistent, pool_size: 5 do |http| + # AWS load balancer idle timeout is 60 secs, so let's make it 59 + http.idle_timeout = 59 + end end end diff --git a/stream-chat.gemspec b/stream-chat.gemspec index 75c2947..4b4d4a1 100644 --- a/stream-chat.gemspec +++ b/stream-chat.gemspec @@ -28,6 +28,8 @@ Gem::Specification.new do |gem| gem.add_dependency 'faraday' gem.add_dependency 'faraday-multipart' + gem.add_dependency 'faraday-net_http_persistent' + gem.add_dependency 'net-http-persistent' gem.add_dependency 'jwt' gem.add_development_dependency 'rake' gem.add_development_dependency 'rspec'