stanley-king 3 年之前
父節點
當前提交
fe629f0b0d

+ 1 - 1
core/framework/db/mysqli.php

@@ -612,7 +612,7 @@ class Db
                 self::$ifTransacting = false;
                 self::$link[$host]->autocommit(false);
             } else {
-                Log::record("autocommit fail", Log::DEBUG);
+                Log::record("autocommit success", Log::DEBUG);
             }
         }
         self::$ifTransacting = true;

+ 2 - 2
core/framework/libraries/log.php

@@ -177,7 +177,7 @@ class Log
 
         if ($this->mAppFile !== false) {
             fwrite($this->mAppFile, $content);
-            fflush($this->mAppFile);
+//            fflush($this->mAppFile);
         }
     }
 
@@ -197,7 +197,7 @@ class Log
 
         if ($this->mAllFile !== false) {
             fwrite($this->mAllFile, $content);
-            fflush($this->mAllFile);
+//            fflush($this->mAllFile);
         }
     }
 

+ 0 - 1
helper/queue/iqueue.php

@@ -270,7 +270,6 @@ abstract class ILooper
         $this->wait();
     }
 
-
     private function wait()
     {
         $coroutine_num = function()

+ 10 - 32
helper/refill/policy/chctl.php

@@ -127,7 +127,7 @@ class chctl
         {
             if($item->opened()) {
                 $usable_items[] = $item;
-                $item->calc_speed();
+                $item->calc_speed(); //此处必须先计算速率,因为usort函数里面不能使用协程。
             } else {
                 Log::record("key={$key} has not opened",Log::DEBUG);
             }
@@ -139,53 +139,31 @@ class chctl
             $lproity = $l->priority();
             $rproity = $r->priority();
 
-//            if($lproity > $rproity) return 1;
-//            elseif($lproity < $rproity) return -1;
-//            else return 0;
-
-
+            //usort 函数内部,不可使用协程等待之类的代码.
             $lover = $l->speed_overload() ? 1 : 0;
             $rover = $r->speed_overload() ? 1 : 0;
 
-            if($lover == $rover) {
-                return 0;
+            if($lover == $rover)
+            {
+                if($lover) {
+                    return $lproity > $rproity ? -1 : 1; //如果都过载保优先级高的
+                }
+                else {
+                    return $lproity < $rproity ? -1 : 1;
+                }
             }
             else {
                 return $lover < $rover ? -1 : 1;
             }
-
-//            if($lover == $rover)
-//            {
-//                if($lproity ==  $rproity)
-//                    return 0;
-//                else
-//                    return $lproity > $rproity ? -1 : 1; //如果都过载保优先级高的
-////                if($lover) {
-////                    return $lproity < $rproity ? -1 : 1; //如果都过载保优先级高的
-////                }
-////                else {
-////                    return $lproity < $rproity ? -1 : 1;
-////                }
-//            }
-//            else {
-//                return $lover < $rover ? -1 : 1;
-//            }
         };
 
-        Log::record("match usort 1",Log::DEBUG);
         usort($usable_items, $ascending);
-        Log::record("match usort 2",Log::DEBUG);
 
         $result = [];
         foreach ($usable_items as $item) {
-            if(is_null($item)) {
-                Log::record("match usort item is null.",Log::DEBUG);
-                continue;
-            }
             $name = $item->name();
             $result[$name] = $item->speed_overload();
         }
-        Log::record("match usort 3",Log::DEBUG);
 
         return $result;
     }

+ 1 - 4
helper/refill/policy/ctl_item.php

@@ -84,12 +84,9 @@ class ctl_item
 
     public function cur_speed(): int
     {
-        Log::record("cur_speed 1",Log::DEBUG);
         $this->load($this->mLastReadTime);
         $speed = array_sum($this->mRecords);
-        Log::record("cur_speed 2",Log::DEBUG);
-
-//        Log::record("{$this->mPrefix} speed={$speed} max_speed={$this->mMaxSpeed}", Log::DEBUG);
+        //Log::record("{$this->mPrefix} speed = {$speed} max_speed={$this->mMaxSpeed}", Log::DEBUG);
 
         return $speed;
     }

+ 0 - 3
helper/refill/policy/xyz/policy.php

@@ -214,10 +214,7 @@ class policy extends ProviderManager implements IPolicy
             if(empty($providers)) continue;
 
             $names = $namer($providers);
-
-            Log::record("find_quality match 1",Log::DEBUG);
             $names_overload = $this->mChannelControl->match($names, $spec, $card_type, $quality);
-            Log::record("find_quality match 2",Log::DEBUG);
 
             if (!empty($names_overload)) {
                 return [$org_quality, $quality];

+ 2 - 2
rdispatcher/coall.php

@@ -24,8 +24,8 @@ require_once(BASE_CORE_PATH . '/framework/libraries/CoRedisPool.php');
 require_once(BASE_PATH . '/processor.php');
 require_once(BASE_PATH . '/proxy.php');
 
-//Co::set(['hook_flags' => SWOOLE_HOOK_ALL | SWOOLE_HOOK_NATIVE_CURL]);
-Co::set(['hook_flags' => SWOOLE_HOOK_NATIVE_CURL | SWOOLE_HOOK_SLEEP | SWOOLE_HOOK_TCP]);
+Co::set(['hook_flags' => SWOOLE_HOOK_ALL | SWOOLE_HOOK_NATIVE_CURL]);
+//Co::set(['hook_flags' => SWOOLE_HOOK_NATIVE_CURL | SWOOLE_HOOK_SLEEP | SWOOLE_HOOK_TCP]);
 //co::set(['stack_size' => 1024*1024*4]);
 
 if (empty($_SERVER['argv'][1])) exit('parameter error');