diff --git a/src/console/PhutilConsoleProgressBar.php b/src/console/PhutilConsoleProgressBar.php --- a/src/console/PhutilConsoleProgressBar.php +++ b/src/console/PhutilConsoleProgressBar.php @@ -33,6 +33,7 @@ private $drawn; private $console; private $finished; + private $lastUpdate; public function setConsole(PhutilConsole $console) { $this->console = $console; @@ -59,6 +60,11 @@ } private function redraw() { + if ($this->lastUpdate + 0.1 > microtime(true)) { + // We redrew the bar very recently; skip this update. + return; + } + if ($this->finished) { return; } @@ -85,6 +91,8 @@ return; } + $this->lastUpdate = microtime(true); + if (!$this->drawn) { $this->drawn = true; }