From: Aaron Schulz Date: Thu, 24 Oct 2013 23:43:29 +0000 (-0700) Subject: Added --sleep-per-batch to purgeChangedFiles.php X-Git-Tag: 1.31.0-rc.0~18158^2 X-Git-Url: http://git.cyclocoop.org/%40spipnet%40?a=commitdiff_plain;h=96a3d3a608046e1108cd8f65e925fd033172f3cf;p=lhc%2Fweb%2Fwiklou.git Added --sleep-per-batch to purgeChangedFiles.php Change-Id: Ied673879b91034cc4ae5e730963fab443eda55f9 --- diff --git a/maintenance/purgeChangedFiles.php b/maintenance/purgeChangedFiles.php index 9f83ee7f9b..c21301b763 100644 --- a/maintenance/purgeChangedFiles.php +++ b/maintenance/purgeChangedFiles.php @@ -69,7 +69,9 @@ class PurgeChangedFiles extends Maintenance { implode( ',', array_keys( self::$typeMappings ) ) . ',all)', false, true ); $this->addOption( 'htcp-dest', 'HTCP announcement destination (IP:port)', false, true ); $this->addOption( 'dry-run', 'Do not send purge requests' ); + $this->addOption( 'sleep-per-batch', 'Milliseconds to sleep between batches', false, true ); $this->addOption( 'verbose', 'Show more output', false, false, 'v' ); + $this->setBatchSize( 100 ); } public function execute() { @@ -154,6 +156,7 @@ class PurgeChangedFiles extends Maintenance { __METHOD__ ); + $bSize = 0; foreach ( $res as $row ) { $file = $repo->newFile( Title::makeTitle( NS_FILE, $row->log_title ) ); @@ -197,6 +200,12 @@ class PurgeChangedFiles extends Maintenance { } $this->verbose( "Purged file {$row->log_title}; {$type} @{$row->log_timestamp}.\n" ); + + if ( $this->hasOption( 'sleep-per-batch' ) && ++$bSize > $this->mBatchSize ) { + $bSize = 0; + // sleep-per-batch is milliseconds, usleep wants micro seconds. + usleep( 1000 * (int)$this->getOption( 'sleep-per-batch' ) ); + } } } }