MediaWiki master
MediaWiki\Deferred\MergeableUpdate Interface Reference

Interface that deferrable updates can implement to signal that updates can be combined. More...

Inherits MediaWiki\Deferred\DeferrableUpdate.

Inherited by MediaWiki\Deferred\CdnCacheUpdate, MediaWiki\Deferred\HtmlFileCacheUpdate, MediaWiki\Deferred\JobQueueEnqueueUpdate, MediaWiki\Deferred\MessageCacheUpdate, MediaWiki\Deferred\SiteStatsUpdate, and MediaWiki\Deferred\UserEditCountUpdate.

Collaboration diagram for MediaWiki\Deferred\MergeableUpdate:

Public Member Functions

 merge (MergeableUpdate $update)
 Merge this enqueued update with a new MergeableUpdate of the same qualified class name.
 
- Public Member Functions inherited from MediaWiki\Deferred\DeferrableUpdate
 doUpdate ()
 Perform the actual work.
 

Detailed Description

Interface that deferrable updates can implement to signal that updates can be combined.

DeferredUpdates uses this to merge all pending updates of PHP class into a single update by calling merge(). Note that upon merge(), the combined update goes to the back of the FIFO queue so that such updates occur after related non-mergeable deferred updates. For example, suppose updates that purge URL objects all use the same MergeableUpdate class, updates that delete URL objects use a different class, and the calling pattern is:

  • a) DeferredUpdates::addUpdate( $purgeCdnUrlsA );
  • b) DeferredUpdates::addUpdate( $deleteContentUrlsB );
  • c) DeferredUpdates::addUpdate( $purgeCdnUrlsB )

In this case, purges for urls A and B will all happen after the $deleteContentUrlsB update.

Stability: stable
to implement
Since
1.27

Definition at line 23 of file MergeableUpdate.php.

Member Function Documentation

◆ merge()

MediaWiki\Deferred\MergeableUpdate::merge ( MergeableUpdate $update)

Merge this enqueued update with a new MergeableUpdate of the same qualified class name.

Parameters
MergeableUpdate$updateThe new update (having the same class)

Implemented in MediaWiki\Deferred\CdnCacheUpdate, MediaWiki\Deferred\HtmlFileCacheUpdate, MediaWiki\Deferred\JobQueueEnqueueUpdate, MediaWiki\Deferred\MessageCacheUpdate, MediaWiki\Deferred\SiteStatsUpdate, and MediaWiki\Deferred\UserEditCountUpdate.


The documentation for this interface was generated from the following file: