Module: MariaDbClusterPool::ConnectTimeout
- Defined in:
- lib/maria_db_cluster_pool/connect_timeout.rb
Overview
This module is mixed into connection adapters to allow the reconnect! method to timeout if the IP address becomes unreachable. The default timeout is 1 second, but you can change it by setting the connect_timeout parameter in the adapter configuration.
Instance Attribute Summary collapse
-
#connect_timeout ⇒ Object
Returns the value of attribute connect_timeout.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#connect_timeout ⇒ Object
Returns the value of attribute connect_timeout.
8 9 10 |
# File 'lib/maria_db_cluster_pool/connect_timeout.rb', line 8 def connect_timeout @connect_timeout end |
Class Method Details
.included(base) ⇒ Object
10 11 12 |
# File 'lib/maria_db_cluster_pool/connect_timeout.rb', line 10 def self.included(base) base.alias_method_chain :reconnect!, :connect_timeout end |
Instance Method Details
#reconnect_with_connect_timeout! ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/maria_db_cluster_pool/connect_timeout.rb', line 14 def reconnect_with_connect_timeout! begin timeout(connect_timeout || 1) do reconnect_without_connect_timeout! end rescue Timeout::Error raise ActiveRecord::ConnectionTimeoutError.new("reconnect timed out") end end |