*/
/**
- * Class to invalidate the HTML cache of all the pages linking to a given title.
+ * Class to invalidate the HTML/file cache of all the pages linking to a given title.
*
* @ingroup Cache
+ * @deprecated Since 1.34; Enqueue jobs from HTMLCacheUpdateJob::newForBacklinks instead
*/
-class HTMLCacheUpdate implements DeferrableUpdate {
+class HTMLCacheUpdate extends DataUpdate {
/** @var Title */
- public $mTitle;
-
+ private $title;
/** @var string */
- public $mTable;
+ private $table;
/**
- * @param Title $titleTo
+ * @param Title $title
* @param string $table
*/
- function __construct( Title $titleTo, $table ) {
- $this->mTitle = $titleTo;
- $this->mTable = $table;
+ public function __construct( Title $title, $table ) {
+ $this->title = $title;
+ $this->table = $table;
}
public function doUpdate() {
- $job = new HTMLCacheUpdateJob(
- $this->mTitle,
- array(
- 'table' => $this->mTable,
- 'recursive' => true
- ) + Job::newRootJobParams( // "overall" refresh links job info
- "htmlCacheUpdate:{$this->mTable}:{$this->mTitle->getPrefixedText()}"
- )
+ $job = HTMLCacheUpdateJob::newForBacklinks(
+ $this->title,
+ $this->table,
+ [ 'causeAction' => $this->getCauseAction(), 'causeAgent' => $this->getCauseAgent() ]
);
-
- $count = $this->mTitle->getBacklinkCache()->getNumLinks( $this->mTable, 100 );
- if ( $count >= 100 ) { // many backlinks
- JobQueueGroup::singleton()->lazyPush( $job );
- } else { // few backlinks ($count might be off even if 0)
- $dbw = wfGetDB( DB_MASTER );
- $dbw->onTransactionIdle( function () use ( $job ) {
- $job->run(); // just do the purge query now
- } );
- }
+ JobQueueGroup::singleton()->lazyPush( $job );
}
}