jenkins-bot has submitted this change and it was merged.
Change subject: Clean up RevisionDelete hook to use LinksUpdate code
......................................................................
Clean up RevisionDelete hook to use LinksUpdate code
The UpdatePagesJob code is for bulk indexing, not this
Change-Id: Iddb783881e2a5e92f6f53fb913f76e97e996e451
---
M includes/Hooks.php
M includes/LinksUpdateJob.php
M includes/UpdatePagesJob.php
M includes/Updater.php
4 files changed, 16 insertions(+), 11 deletions(-)
Approvals:
Manybubbles: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/Hooks.php b/includes/Hooks.php
index 58c15b1..44695ba 100644
--- a/includes/Hooks.php
+++ b/includes/Hooks.php
@@ -96,9 +96,12 @@
* @return bool
*/
public static function onRevisionDelete( $title ) {
- $page = WikiPage::factory( $title );
JobQueueGroup::singleton()->push(
- UpdatePagesJob::build( array( $page ), true,
Updater::INDEX_EVERYTHING )
+ new LinksUpdateJob( $title, array(
+ 'checkFreshness' => true,
+ 'addedLinks' => array(),
+ 'removedLinks' => array()
+ ) )
);
}
diff --git a/includes/LinksUpdateJob.php b/includes/LinksUpdateJob.php
index 456cb6d..60a70b2 100644
--- a/includes/LinksUpdateJob.php
+++ b/includes/LinksUpdateJob.php
@@ -42,15 +42,16 @@
protected function doJob() {
$updater = new Updater();
- $updater->updateFromTitle( $this->title );
+ $check = isset( $this->params['checkFreshness'] ) &&
$this->params['checkFreshness'];
+ $updater->updateFromTitle( $this->title, $check );
if ( count( $this->params[ 'addedLinks' ] ) > 0 ||
count( $this->params[ 'removedLinks' ] ) > 0 ) {
- $params = array(
- 'addedLinks' => $this->params[ 'addedLinks' ],
- 'removedLinks' => $this->params[ 'removedLinks'
],
+ JobQueueGroup::singleton()->push(
+ new LinksUpdateSecondaryJob( $this->title,
array(
+ 'addedLinks' => $this->params[
'addedLinks' ],
+ 'removedLinks' => $this->params[
'removedLinks' ],
+ ) )
);
- $next = new LinksUpdateSecondaryJob( $this->title,
$params );
- JobQueueGroup::singleton()->push( $next );
}
}
diff --git a/includes/UpdatePagesJob.php b/includes/UpdatePagesJob.php
index da7711e..46dd144 100644
--- a/includes/UpdatePagesJob.php
+++ b/includes/UpdatePagesJob.php
@@ -6,7 +6,7 @@
/**
* Job wrapper around Updater::updatePages. Used by forceSearchIndex.php
- * when in job queueing mode and by Cirrus's revision delete hook.
+ * when in job queueing mode.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/includes/Updater.php b/includes/Updater.php
index 7a7bf02..6c9c027 100644
--- a/includes/Updater.php
+++ b/includes/Updater.php
@@ -50,13 +50,14 @@
/**
* Update a single page.
* @param Title $title
+ * @param bool $checkFreshness Whether to check page freshness when
updating
*/
- public function updateFromTitle( $title ) {
+ public function updateFromTitle( $title, $checkFreshness = false ) {
global $wgCirrusSearchShardTimeout,
$wgCirrusSearchClientSideUpdateTimeout;
$page = $this->traceRedirects( $title );
if ( $page ) {
- $this->updatePages( array( $page ), false,
$wgCirrusSearchShardTimeout,
+ $this->updatePages( array( $page ), $checkFreshness,
$wgCirrusSearchShardTimeout,
$wgCirrusSearchClientSideUpdateTimeout,
self::INDEX_EVERYTHING );
}
}
--
To view, visit https://gerrit.wikimedia.org/r/107983
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Iddb783881e2a5e92f6f53fb913f76e97e996e451
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/CirrusSearch
Gerrit-Branch: master
Gerrit-Owner: Chad <[email protected]>
Gerrit-Reviewer: Manybubbles <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits