Kaynağa Gözat

Attempt to reconnect for checks

Andrew Kane 9 yıl önce
ebeveyn
işleme
fa85960158
3 değiştirilmiş dosya ile 11 ekleme ve 0 silme
  1. 4 0
      CHANGELOG.md
  2. 3 0
      lib/blazer.rb
  3. 4 0
      lib/blazer/data_source.rb

+ 4 - 0
CHANGELOG.md

@@ -1,3 +1,7 @@
+## 1.3.2 [unreleased]
+
+- Attempt to reconnect for checks
+
 ## 1.3.1
 
 - Fixed migration error

+ 3 - 0
lib/blazer.rb

@@ -74,6 +74,9 @@ module Blazer
             Rails.logger.info "[blazer timeout] query=#{check.query.name}"
             tries += 1
             sleep(10)
+          elsif error.start_with?("PG::ConnectionBad")
+            data_sources[check.query.data_source].reconnect
+            tries += 1
           else
             break
           end

+ 4 - 0
lib/blazer/data_source.rb

@@ -139,6 +139,10 @@ module Blazer
       ["MySQL", "Mysql2", "Mysql2Spatial"].include?(adapter_name)
     end
 
+    def reconnect
+      connection_model.establish_connection(settings["url"])
+    end
+
     protected
 
     def adapter_name