X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FpurgeChangedPages.php;h=8f47b1605f30e1c92db5010b42ee1a8ac5c7e3b7;hb=7fa7e6164d640f4523caa142b8ca4b3f15e1621b;hp=0ef2a999f47720aae7fbf36b33103efba563350a;hpb=342749942bb05852b645bbda23bc60695c25ac79;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/purgeChangedPages.php b/maintenance/purgeChangedPages.php index 0ef2a999f4..8f47b1605f 100644 --- a/maintenance/purgeChangedPages.php +++ b/maintenance/purgeChangedPages.php @@ -136,9 +136,9 @@ class PurgeChangedPages extends Maintenance { } } - // Send batch of purge requests out to squids - $squid = new CdnCacheUpdate( $urls, count( $urls ) ); - $squid->doUpdate(); + // Send batch of purge requests out to CDN servers + $cdn = new CdnCacheUpdate( $urls, count( $urls ) ); + $cdn->doUpdate(); if ( $this->hasOption( 'sleep-per-batch' ) ) { // sleep-per-batch is milliseconds, usleep wants micro seconds. @@ -170,23 +170,31 @@ class PurgeChangedPages extends Maintenance { */ protected function pageableSortedRows( ResultWrapper $res, $column, $limit ) { $rows = iterator_to_array( $res, false ); - $count = count( $rows ); - if ( !$count ) { - return [ [], null ]; // nothing to do - } elseif ( $count < $limit ) { - return [ $rows, $rows[$count - 1]->$column ]; // no more rows left + + // Nothing to do + if ( !$rows ) { + return [ [], null ]; + } + + $lastValue = end( $rows )->$column; + if ( count( $rows ) < $limit ) { + return [ $rows, $lastValue ]; } - $lastValue = $rows[$count - 1]->$column; // should be the highest - for ( $i = $count - 1; $i >= 0; --$i ) { - if ( $rows[$i]->$column === $lastValue ) { - unset( $rows[$i] ); - } else { + + for ( $i = count( $rows ) - 1; $i >= 0; --$i ) { + if ( $rows[$i]->$column !== $lastValue ) { break; } + + unset( $rows[$i] ); + } + + // No more rows left + if ( !$rows ) { + return [ [], null ]; } - $lastValueLeft = count( $rows ) ? $rows[count( $rows ) - 1]->$column : null; - return [ $rows, $lastValueLeft ]; + return [ $rows, end( $rows )->$column ]; } }