Remove "@author Aaron Schulz" annotations
[lhc/web/wiklou.git] / includes / jobqueue / JobQueueDB.php
index 0a8ae7f..cefe74d 100644 (file)
  * http://www.gnu.org/copyleft/gpl.html
  *
  * @file
- * @author Aaron Schulz
  */
+use Wikimedia\Rdbms\IDatabase;
+use Wikimedia\Rdbms\DBConnRef;
+use Wikimedia\Rdbms\DBConnectionError;
+use Wikimedia\Rdbms\DBError;
 use MediaWiki\MediaWikiServices;
 use Wikimedia\ScopedCallback;
 
@@ -181,14 +184,15 @@ class JobQueueDB extends JobQueue {
         * @return void
         */
        protected function doBatchPush( array $jobs, $flags ) {
-               $dbw = $this->getMasterDB();
-
-               $method = __METHOD__;
-               $dbw->onTransactionIdle(
-                       function () use ( $dbw, $jobs, $flags, $method ) {
-                               $this->doBatchPushInternal( $dbw, $jobs, $flags, $method );
-                       },
-                       __METHOD__
+               DeferredUpdates::addUpdate(
+                       new AutoCommitUpdate(
+                               $this->getMasterDB(),
+                               __METHOD__,
+                               function ( IDatabase $dbw, $fname ) use ( $jobs, $flags ) {
+                                       $this->doBatchPushInternal( $dbw, $jobs, $flags, $fname );
+                               }
+                       ),
+                       DeferredUpdates::PRESEND
                );
        }
 
@@ -346,7 +350,7 @@ class JobQueueDB extends JobQueue {
                                        continue; // try the other direction
                                }
                        } else { // table *may* have >= MAX_OFFSET rows
-                               // Bug 42614: "ORDER BY job_random" with a job_random inequality causes high CPU
+                               // T44614: "ORDER BY job_random" with a job_random inequality causes high CPU
                                // in MySQL if there are many rows for some reason. This uses a small OFFSET
                                // instead of job_random for reducing excess claim retries.
                                $row = $dbw->selectRow( 'job', self::selectFields(), // find a random job