MediaWiki master
MediaWiki\PoolCounter\PoolCounterWorkViaCallback Class Reference

Convenience class for dealing with PoolCounter using callbacks. More...

Inherits MediaWiki\PoolCounter\PoolCounterWork.

Collaboration diagram for MediaWiki\PoolCounter\PoolCounterWorkViaCallback:

Public Member Functions

 __construct ( $type, $key, array $callbacks)
 Build a PoolCounterWork class from a type, key, and callback map.
 
 doWork ()
 Actually perform the work, caching it if needed.
 
 error ( $status)
 Do something with the error, like showing it to the user.
 
 fallback ( $fast)
 A work not so good (eg.
 
 getCachedWork ()
 Retrieve the work from cache.
 
- Public Member Functions inherited from MediaWiki\PoolCounter\PoolCounterWork
 __construct (string $type, string $key, ?PoolCounter $poolCounter=null)
 
 execute ( $skipcache=false)
 Get the result of the work (whatever it is), or the result of the error() function.
 
 logError ( $status)
 Log an error.
 

Protected Attributes

callable null $doCachedWork
 
callable $doWork
 
callable null $error
 
callable null $fallback
 
- Protected Attributes inherited from MediaWiki\PoolCounter\PoolCounterWork
bool $cacheable = false
 
string $type = 'generic'
 

Additional Inherited Members

- Protected Member Functions inherited from MediaWiki\PoolCounter\PoolCounterWork
 isFastStaleEnabled ()
 Should fast stale mode be used?
 

Detailed Description

Convenience class for dealing with PoolCounter using callbacks.

Since
1.22
Stability: newable
Note
marked as newable in 1.35 for lack of a better alternative, but should use a factory in the future.

Definition at line 32 of file PoolCounterWorkViaCallback.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\PoolCounter\PoolCounterWorkViaCallback::__construct ( $type,
$key,
array $callbacks )

Build a PoolCounterWork class from a type, key, and callback map.

The callback map must at least have a callback for the 'doWork' method. Additionally, callbacks can be provided for the 'doCachedWork', 'fallback', and 'error' methods. Methods without callbacks will be no-ops that return false. If a 'doCachedWork' callback is provided, then execute() may wait for any prior process in the pool to finish and reuse its cached result.

Stability: stable
to call
Parameters
string$typeThe class of actions to limit concurrency for
string$key
array$callbacksMap of callbacks

Definition at line 56 of file PoolCounterWorkViaCallback.php.

References MediaWiki\PoolCounter\PoolCounterWork\$type, and MediaWiki\PoolCounter\PoolCounterWorkViaCallback\doWork().

Member Function Documentation

◆ doWork()

MediaWiki\PoolCounter\PoolCounterWorkViaCallback::doWork ( )

Actually perform the work, caching it if needed.

Returns
mixed|false Work result or false

Reimplemented from MediaWiki\PoolCounter\PoolCounterWork.

Definition at line 72 of file PoolCounterWorkViaCallback.php.

References MediaWiki\PoolCounter\PoolCounterWorkViaCallback\doWork().

Referenced by MediaWiki\PoolCounter\PoolCounterWorkViaCallback\__construct(), and MediaWiki\PoolCounter\PoolCounterWorkViaCallback\doWork().

◆ error()

MediaWiki\PoolCounter\PoolCounterWorkViaCallback::error ( $status)

Do something with the error, like showing it to the user.

Parameters
Status$status
Returns
mixed|false

Reimplemented from MediaWiki\PoolCounter\PoolCounterWork.

Definition at line 90 of file PoolCounterWorkViaCallback.php.

References MediaWiki\PoolCounter\PoolCounterWorkViaCallback\error().

Referenced by MediaWiki\PoolCounter\PoolCounterWorkViaCallback\error().

◆ fallback()

MediaWiki\PoolCounter\PoolCounterWorkViaCallback::fallback ( $fast)

A work not so good (eg.

expired one) but better than an error message.

Parameters
bool$fastTrue if PoolCounter is requesting a fast stale response (pre-wait)
Returns
mixed|false Work result or false

Reimplemented from MediaWiki\PoolCounter\PoolCounterWork.

Definition at line 83 of file PoolCounterWorkViaCallback.php.

References MediaWiki\PoolCounter\PoolCounterWorkViaCallback\fallback().

Referenced by MediaWiki\PoolCounter\PoolCounterWorkViaCallback\fallback().

◆ getCachedWork()

MediaWiki\PoolCounter\PoolCounterWorkViaCallback::getCachedWork ( )

Retrieve the work from cache.

Returns
mixed|false Work result or false

Reimplemented from MediaWiki\PoolCounter\PoolCounterWork.

Definition at line 76 of file PoolCounterWorkViaCallback.php.

Member Data Documentation

◆ $doCachedWork

callable null MediaWiki\PoolCounter\PoolCounterWorkViaCallback::$doCachedWork
protected

Definition at line 36 of file PoolCounterWorkViaCallback.php.

◆ $doWork

callable MediaWiki\PoolCounter\PoolCounterWorkViaCallback::$doWork
protected

Definition at line 34 of file PoolCounterWorkViaCallback.php.

◆ $error

callable null MediaWiki\PoolCounter\PoolCounterWorkViaCallback::$error
protected

Definition at line 40 of file PoolCounterWorkViaCallback.php.

◆ $fallback

callable null MediaWiki\PoolCounter\PoolCounterWorkViaCallback::$fallback
protected

Definition at line 38 of file PoolCounterWorkViaCallback.php.


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