MediaWiki master
PoolWorkArticleViewOld.php
Go to the documentation of this file.
1<?php
21namespace MediaWiki\PoolCounter;
22
23use MediaWiki\Logger\Spi as LoggerSpi;
30
38 private $cache;
39
48 public function __construct(
49 string $workKey,
53 RevisionRenderer $revisionRenderer,
54 LoggerSpi $loggerSpi
55 ) {
56 parent::__construct( $workKey, $revision, $parserOptions, $revisionRenderer, $loggerSpi );
57
58 $this->cache = $cache;
59
60 $this->cacheable = true;
61 }
62
66 public function doWork() {
67 // Reduce effects of race conditions for slow parses (T48014)
68 $cacheTime = wfTimestampNow();
69
70 $status = $this->renderRevision();
72 $output = $status->getValue();
73
74 if ( $output && $output->isCacheable() ) {
75 $this->cache->save( $output, $this->revision, $this->parserOptions, $cacheTime );
76 }
77
78 return $status;
79 }
80
84 public function getCachedWork() {
85 $parserOutput = $this->cache->get( $this->revision, $this->parserOptions );
86
87 return $parserOutput ? Status::newGood( $parserOutput ) : false;
88 }
89
90}
91
93class_alias( PoolWorkArticleViewOld::class, 'PoolWorkArticleViewOld' );
wfTimestampNow()
Convenience function; returns MediaWiki timestamp for the present time.
ParserOutput is a rendering of a Content object or a message.
Cache for ParserOutput objects.
PoolWorkArticleView for an old revision of a page, using a simple cache.
__construct(string $workKey, RevisionOutputCache $cache, RevisionRecord $revision, ParserOptions $parserOptions, RevisionRenderer $revisionRenderer, LoggerSpi $loggerSpi)
PoolCounter protected work wrapping RenderedRevision->getRevisionParserOutput.
Page revision base class.
The RevisionRenderer service provides access to rendered output for revisions.
Generic operation result class Has warning/error list, boolean status and arbitrary value.
Definition Status.php:54
Set options of the Parser.
Service provider interface to create \Psr\Log\LoggerInterface objects.
Definition Spi.php:64