Aaron Schulz has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/91802


Change subject: Added --sleep-per-batch to purgeChangedFiles.php
......................................................................

Added --sleep-per-batch to purgeChangedFiles.php

Change-Id: Ied673879b91034cc4ae5e730963fab443eda55f9
---
M maintenance/purgeChangedFiles.php
1 file changed, 9 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/02/91802/1

diff --git a/maintenance/purgeChangedFiles.php 
b/maintenance/purgeChangedFiles.php
index 9f83ee7..c21301b 100644
--- a/maintenance/purgeChangedFiles.php
+++ b/maintenance/purgeChangedFiles.php
@@ -69,7 +69,9 @@
                        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 @@
                                __METHOD__
                        );
 
+                       $bSize = 0;
                        foreach ( $res as $row ) {
                                $file = $repo->newFile( Title::makeTitle( 
NS_FILE, $row->log_title ) );
 
@@ -197,6 +200,12 @@
                                }
 
                                $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' ) );
+                               }
                        }
                }
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/91802
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ied673879b91034cc4ae5e730963fab443eda55f9
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to