Manybubbles has uploaded a new change for review.

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

Change subject: Bail early if another script is queueing jobs
......................................................................

Bail early if another script is queueing jobs

If another script is queueing index build jobs for the same wiki then it'll
wait for them to empty so the current execution doesn't have to.

Change-Id: I3b5994cdb00406ee6b6889f4680e86822364daf4
---
M maintenance/forceSearchIndex.php
1 file changed, 8 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch 
refs/changes/28/129628/1

diff --git a/maintenance/forceSearchIndex.php b/maintenance/forceSearchIndex.php
index 6516e21..8845d02 100644
--- a/maintenance/forceSearchIndex.php
+++ b/maintenance/forceSearchIndex.php
@@ -223,6 +223,7 @@
                }
                $this->output( "$operationName a total of $completed pages at 
$rate/second\n" );
 
+               $lastQueueSizeForOurJob = PHP_INT_MAX;
                if ( $this->queue ) {
                        $this->output( "Waiting for jobs to drain from the 
queue\n" );
                        while ( true ) {
@@ -230,8 +231,15 @@
                                if ( $queueSizeForOurJob === 0 ) {
                                        break;
                                }
+                               // We subtract 5 because we some jobs may be 
added by deletes
+                               if ( $queueSizeForOurJob > 
$lastQueueSizeForOurJob ) {
+                                       $this->output( "Queue size went up.  
Another script is likely adding jobs " .
+                                               "and it'll wait for them to 
empty.\n" );
+                                       break;
+                               }
                                $this->output( "$queueSizeForOurJob jobs left 
on the queue.\n" );
                                usleep( 
self::SECONDS_BETWEEN_JOB_QUEUE_LENGTH_CHECKS * 1000000 );
+                               $lastQueueSizeForOurJob = $queueSizeForOurJob;
                        }
                }
        }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3b5994cdb00406ee6b6889f4680e86822364daf4
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: Manybubbles <[email protected]>

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

Reply via email to