Browse Source

fix mysqli cannot auto reconnect

stanley-king 3 years atrás
parent
commit
130160bc2d

+ 7 - 4
core/framework/db/mysqli.php

@@ -132,10 +132,13 @@ class Db
                 } elseif (C('debug')) {
                     throw_exception($error . '<br/>' . $sql);
                     return false;
-                } else {
-//                    if(self::ping($host) == false) {
-//
-//                    }
+                }
+                elseif(self::ping($host) == false) {
+                    if ($count > 0) return false;
+                    self::connect($host);
+                    $count++;
+                }
+                else {
                     return false;
                 }
             }

+ 3 - 3
helper/refill/policy/quaility.php

@@ -184,7 +184,7 @@ class Quality
         $left_time = $time_out - $used_time;
         if($left_time <= 0 || $max_times <= $times) return [];
 
-        Log::record("calc_quality begin qualities = " . implode(',',$qualities),Log::DEBUG);
+        Log::record("calc_quality begin qualities= " . implode(',',$qualities),Log::DEBUG);
         $times_checker = function($qualities, $times)
         {
             $result = [];
@@ -236,9 +236,9 @@ class Quality
         if($times > 0)
         {
             $qualities = $times_checker($qualities,$times);
-            Log::record("calc_quality times_checker result = " . implode($qualities),Log::DEBUG);
+            Log::record("calc_quality times_checker result = " . implode(',', $qualities), Log::DEBUG);
             $qualities = $timeout_checker($qualities,$left_time);
-            Log::record("calc_quality timeout_checker result = " . implode($qualities),Log::DEBUG);
+            Log::record("calc_quality timeout_checker result = " . implode(',', $qualities), Log::DEBUG);
 
             if(!$timeing_checker($qualities)) {
                 $qualities = [];

+ 1 - 1
helper/refill/policy/xyz/quality_ploy.php

@@ -16,7 +16,7 @@ class quality_ploy extends Quality
             self::CardKey => ['retry_times' => 1, 'retry_timeout' => 120, 'per_secs' => 80],
 
             self::ThirdShop => ['retry_times' => 1, 'retry_timeout' => 900, 'per_secs' => 600],
-            self::SlowTwentyFour => ['retry_times' => 1, 'retry_timeout' => 86400, 'per_secs' => 86400],
+            self::SlowTwentyFour => ['retry_times' => 10, 'retry_timeout' => 86400, 'per_secs' => 86400],
             self::SlowSix => ['retry_times' => 1, 'retry_timeout' => 21600, 'per_secs' => 21600],
             self::SlowTwo => ['retry_times' => 1, 'retry_timeout' => 7200, 'per_secs' => 7200],
             self::SlowFortyEight => ['retry_times' => 1, 'retry_timeout' => 172800, 'per_secs' => 172800 - 1800],