Ori.livneh has submitted this change and it was merged.
Change subject: Add ParserOutputStashForEdit hook for extension cache warming
......................................................................
Add ParserOutputStashForEdit hook for extension cache warming
This can pre-cache slow queries by extensions that happen on
edit submission.
Bug: T116557
Change-Id: I803f69013f68e80a53dd3c466bddff3ebe2b659b
---
M docs/hooks.txt
M includes/api/ApiStashEdit.php
2 files changed, 9 insertions(+), 0 deletions(-)
Approvals:
Ori.livneh: Verified; Looks good to me, approved
jenkins-bot: Verified
diff --git a/docs/hooks.txt b/docs/hooks.txt
index 2b5e1e0..a252438 100644
--- a/docs/hooks.txt
+++ b/docs/hooks.txt
@@ -2346,6 +2346,11 @@
that tests continue to run properly.
&$tables: array of table names
+'ParserOutputStashForEdit': Called when an edit stash parse finishes, before
the output is cached.
+$page: the WikiPage of the candidate edit
+$content: the Content object of the candidate edit
+$output: the ParserOutput result of the candidate edit
+
'PasswordPoliciesForUser': Alter the effective password policy for a user.
$user: User object whose policy you are modifying
&$effectivePolicy: Array of policy statements that apply to this user
diff --git a/includes/api/ApiStashEdit.php b/includes/api/ApiStashEdit.php
index 8822750..00675f4 100644
--- a/includes/api/ApiStashEdit.php
+++ b/includes/api/ApiStashEdit.php
@@ -141,6 +141,9 @@
if ( $editInfo && $editInfo->output ) {
$key = self::getStashKey( $page->getTitle(), $content,
$user );
+ // Let extensions add ParserOutput metadata or warm
other caches
+ Hooks::run( 'ParserOutputStashForEdit', array( $page,
$content, $editInfo->output ) );
+
list( $stashInfo, $ttl ) = self::buildStashValue(
$editInfo->pstContent, $editInfo->output,
$editInfo->timestamp
);
@@ -148,6 +151,7 @@
if ( $stashInfo ) {
$ok = $cache->set( $key, $stashInfo, $ttl );
if ( $ok ) {
+
$logger->debug( "Cached parser output
for key '$key'." );
return self::ERROR_NONE;
} else {
--
To view, visit https://gerrit.wikimedia.org/r/267177
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I803f69013f68e80a53dd3c466bddff3ebe2b659b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: wmf/1.27.0-wmf.11
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: Anomie <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits