Răsfoiți Sursa

Merge branch 'master' into dev

shish 2 luni în urmă
părinte
comite
60fdacb2f2
1 a modificat fișierele cu 18 adăugiri și 0 ștergeri
  1. 18 0
      console/controllers/SaltController.php

+ 18 - 0
console/controllers/SaltController.php

@@ -106,6 +106,10 @@ class SaltController extends Controller
         $ids = $db->createCommand("SELECT id FROM xhClear ORDER BY id DESC")->queryColumn();
         $ids = $db->createCommand("SELECT id FROM xhClear ORDER BY id DESC")->queryColumn();
         $count = 0;
         $count = 0;
         foreach ($ids as $id) {
         foreach ($ids as $id) {
+            // 支持 limit 参数限制更新数量
+            if ($this->limit > 0 && $count >= $this->limit) {
+                break;
+            }
             if ($this->dryRun) {
             if ($this->dryRun) {
                 $this->stdout("[dry-run] xhClear id={$id}\n");
                 $this->stdout("[dry-run] xhClear id={$id}\n");
                 $count++;
                 $count++;
@@ -117,6 +121,11 @@ class SaltController extends Controller
                 ->bindValues([':salt' => $salt, ':id' => $id])
                 ->bindValues([':salt' => $salt, ':id' => $id])
                 ->execute();
                 ->execute();
             $count++;
             $count++;
+
+            // 支持 sleepMs 降低数据库压力
+            if ($this->sleepMs > 0) {
+                usleep($this->sleepMs * 1000);
+            }
         }
         }
         $this->stdout("xhClear salt 全部重新设置完成,共处理 {$count} 条记录\n");
         $this->stdout("xhClear salt 全部重新设置完成,共处理 {$count} 条记录\n");
         return ExitCode::OK;
         return ExitCode::OK;
@@ -133,6 +142,10 @@ class SaltController extends Controller
         $ids = $db->createCommand("SELECT id FROM xhSettle ORDER BY id DESC")->queryColumn();
         $ids = $db->createCommand("SELECT id FROM xhSettle ORDER BY id DESC")->queryColumn();
         $count = 0;
         $count = 0;
         foreach ($ids as $id) {
         foreach ($ids as $id) {
+            // 支持 limit 参数限制更新数量
+            if ($this->limit > 0 && $count >= $this->limit) {
+                break;
+            }
             if ($this->dryRun) {
             if ($this->dryRun) {
                 $this->stdout("[dry-run] xhSettle id={$id}\n");
                 $this->stdout("[dry-run] xhSettle id={$id}\n");
                 $count++;
                 $count++;
@@ -144,6 +157,11 @@ class SaltController extends Controller
                 ->bindValues([':salt' => $salt, ':id' => $id])
                 ->bindValues([':salt' => $salt, ':id' => $id])
                 ->execute();
                 ->execute();
             $count++;
             $count++;
+
+            // 支持 sleepMs 降低数据库压力
+            if ($this->sleepMs > 0) {
+                usleep($this->sleepMs * 1000);
+            }
         }
         }
         $this->stdout("xhSettle salt 全部重新设置完成,共处理 {$count} 条记录\n");
         $this->stdout("xhSettle salt 全部重新设置完成,共处理 {$count} 条记录\n");
         return ExitCode::OK;
         return ExitCode::OK;