MediaWiki REL1_40
MergeableUpdate Interface Reference

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

Inherits DeferrableUpdate.

Inherited by CdnCacheUpdate, HtmlFileCacheUpdate, JobQueueEnqueueUpdate, MessageCacheUpdate, SiteStatsUpdate, and UserEditCountUpdate.

Collaboration diagram for 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 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 21 of file MergeableUpdate.php.

Member Function Documentation

◆ merge()

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 CdnCacheUpdate, HtmlFileCacheUpdate, JobQueueEnqueueUpdate, MessageCacheUpdate, SiteStatsUpdate, and UserEditCountUpdate.


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