From f88b6fd3ec20cd246cd3c984c0038183d1219e70 Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Thu, 26 Jan 2006 11:25:26 +0000 Subject: [PATCH] Don't use tidy. Command line option to specify the end ID. Clear the link cache after each article to keep memory usage down. --- maintenance/refreshLinks.inc | 19 +++++++++++++------ maintenance/refreshLinks.php | 12 +++++++++--- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/maintenance/refreshLinks.inc b/maintenance/refreshLinks.inc index 093c27192d..04125c12df 100644 --- a/maintenance/refreshLinks.inc +++ b/maintenance/refreshLinks.inc @@ -7,9 +7,10 @@ /** */ define( "REPORTING_INTERVAL", 100 ); +#define( "REPORTING_INTERVAL", 1 ); -function refreshLinks( $start, $newOnly = false, $maxLag = false ) { - global $wgUser, $wgParser, $wgUseImageResize; +function refreshLinks( $start, $newOnly = false, $maxLag = false, $end = 0 ) { + global $wgUser, $wgParser, $wgUseImageResize, $wgUseTidy; $fname = 'refreshLinks'; $dbr =& wfGetDB( DB_SLAVE ); @@ -24,6 +25,7 @@ function refreshLinks( $start, $newOnly = false, $maxLag = false ) { # Don't generate thumbnail images $wgUseImageResize = false; + $wgUseTidy = false; if ( $newOnly ) { print "Refreshing links from "; @@ -48,7 +50,9 @@ function refreshLinks( $start, $newOnly = false, $maxLag = false ) { } } else { print "Refreshing link table.\n"; - $end = $dbr->selectField( 'page', 'max(page_id)', false ); + if ( !$end ) { + $end = $dbr->selectField( 'page', 'max(page_id)', false ); + } print("Starting from page_id $start of $end.\n"); for ($id = $start; $id <= $end; $id++) { @@ -65,11 +69,14 @@ function refreshLinks( $start, $newOnly = false, $maxLag = false ) { } function fixLinksFromArticle( $id ) { - global $wgTitle, $wgArticle, $wgOut, $wgParser; - + global $wgTitle, $wgArticle, $wgOut, $wgParser, $wgLinkCache; + $wgTitle = Title::newFromID( $id ); $dbw =& wfGetDB( DB_MASTER ); + $linkCache =& LinkCache::singleton(); + $linkCache->clear(); + if ( is_null( $wgTitle ) ) { return; } @@ -83,7 +90,7 @@ function fixLinksFromArticle( $id ) { $options = new ParserOptions; $parserOutput = $wgParser->parse( $revision->getText(), $wgTitle, $options, true, true, $revision->getId() ); $update = new LinksUpdate( $wgTitle, $parserOutput ); - $update->doDumbUpdate(); + $update->doUpdate(); $dbw->immediateCommit(); } diff --git a/maintenance/refreshLinks.php b/maintenance/refreshLinks.php index f37c8e874f..e59124aaf5 100644 --- a/maintenance/refreshLinks.php +++ b/maintenance/refreshLinks.php @@ -6,7 +6,7 @@ */ /** */ -$optionsWithArgs = array( 'm' ); +$optionsWithArgs = array( 'm', 'e' ); require_once( "commandLine.inc" ); require_once( "refreshLinks.inc" ); @@ -19,8 +19,14 @@ if ( !$options['dfn-only'] ) { $start = 1; } - refreshLinks( $start, $options['new-only'], $options['m'] ); + refreshLinks( $start, $options['new-only'], $options['m'], $options['e'] ); +} +// this bit's bad for replication: disabling temporarily +// --brion 2005-07-16 +//deleteLinksFromNonexistent(); + +if ( $options['globals'] ) { + print_r( $GLOBALS ); } -deleteLinksFromNonexistent(); ?> -- 2.20.1