Index: trunk/phase3/maintenance/rebuildrecentchanges.php |
— | — | @@ -37,6 +37,7 @@ |
38 | 38 | $this->rebuildRecentChangesTablePass2(); |
39 | 39 | $this->rebuildRecentChangesTablePass3(); |
40 | 40 | $this->rebuildRecentChangesTablePass4(); |
| 41 | + $this->purgeFeeds(); |
41 | 42 | $this->output( "Done.\n" ); |
42 | 43 | } |
43 | 44 | |
— | — | @@ -272,6 +273,20 @@ |
273 | 274 | |
274 | 275 | $dbw->freeResult( $res ); |
275 | 276 | } |
| 277 | + |
| 278 | + /** |
| 279 | + * Purge cached feeds in $messageMemc |
| 280 | + */ |
| 281 | + private function purgeFeeds() { |
| 282 | + global $wgFeedClasses, $messageMemc; |
| 283 | + |
| 284 | + $this->output( "Deleting feed timestamps.\n" ); |
| 285 | + |
| 286 | + foreach( $wgFeedClasses as $feed => $className ) { |
| 287 | + $messageMemc->delete( wfMemcKey( 'rcfeed', $feed, 'timestamp' ) ); # Good enough for now. |
| 288 | + } |
| 289 | + } |
| 290 | + |
276 | 291 | } |
277 | 292 | |
278 | 293 | $maintClass = "RebuildRecentchanges"; |
Index: trunk/phase3/docs/memcached.txt |
— | — | @@ -219,12 +219,15 @@ |
220 | 220 | |
221 | 221 | Special:Recentchanges (feed): |
222 | 222 | stored in: $messageMemc |
223 | | - key: $wgDBname:rcfeed:$format:limit:$imit:minor:$hideminor and |
| 223 | + key: $wgDBname:rcfeed:$format:$limit:$hideminor:$target and |
224 | 224 | rcfeed:$format:timestamp |
225 | | - ex: wikidb:rcfeed:rss:limit:50:minor:0 and rcfeed:rss:timestamp |
| 225 | + ex: wikidb:rcfeed:rss:50:: and rcfeed:rss:timestamp |
226 | 226 | stores: xml output of feed |
227 | 227 | expiry: one day |
228 | | - clear by: calling Special:Recentchanges?action=purge |
| 228 | + clear by: maintenance/rebuildrecentchanges.php script, or |
| 229 | + calling Special:Recentchanges?action=purge&feed=rss, |
| 230 | + Special:Recentchanges?action=purge&feed=atom, |
| 231 | + but note need $wgGroupPermissions[...]['purge'] permission. |
229 | 232 | |
230 | 233 | Statistics: |
231 | 234 | controlled by: $wgStatsMethod |
Index: trunk/phase3/RELEASE-NOTES |
— | — | @@ -434,6 +434,8 @@ |
435 | 435 | Special:RevisionDelete are no more displayed when when doing log suppression |
436 | 436 | * (bug 8143) Localised parser function names are now correctly case insensitive |
437 | 437 | if they contain non-ASCII characters |
| 438 | +* (bug 19055) maintenance/rebuildrecentchanges.php now purges |
| 439 | + Special:Recentchanges's RSS and Atom feed cache |
438 | 440 | |
439 | 441 | == API changes in 1.16 == |
440 | 442 | |