MediaWiki  master
PoolCounterWorkViaCallback Class Reference

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

Inheritance diagram for PoolCounterWorkViaCallback:
Collaboration diagram for PoolCounterWorkViaCallback:

Public Member Functions

 __construct ( $type, $key, array $callbacks)
 Build a PoolCounterWork class from a type, key, and callback map. More...
 
 doWork ()
 Actually perform the work, caching it if needed. More...
 
 error ( $status)
 Do something with the error, like showing it to the user. More...
 
 fallback ( $fast)
 A work not so good (eg. More...
 
 getCachedWork ()
 Retrieve the work from cache. More...
 
- Public Member Functions inherited from 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. More...
 
 logError ( $status)
 Log an error. More...
 

Protected Attributes

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

Additional Inherited Members

- Protected Member Functions inherited from PoolCounterWork
 isFastStaleEnabled ()
 Should fast stale mode be used? More...
 

Detailed Description

Convenience class for dealing with PoolCounters using callbacks.

Since
1.22

Definition at line 28 of file PoolCounterWorkViaCallback.php.

Constructor & Destructor Documentation

◆ __construct()

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.

Parameters
string$typeThe class of actions to limit concurrency for
string$key
array$callbacksMap of callbacks
Exceptions
MWException

Definition at line 52 of file PoolCounterWorkViaCallback.php.

References PoolCounterWork\$type, and doWork().

Member Function Documentation

◆ doWork()

PoolCounterWorkViaCallback::doWork ( )

Actually perform the work, caching it if needed.

Returns
mixed Work result or false

Reimplemented from PoolCounterWork.

Definition at line 68 of file PoolCounterWorkViaCallback.php.

Referenced by __construct().

◆ error()

PoolCounterWorkViaCallback::error (   $status)

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

Parameters
Status$status
Returns
bool

Reimplemented from PoolCounterWork.

Definition at line 86 of file PoolCounterWorkViaCallback.php.

◆ fallback()

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 Work result or false

Reimplemented from PoolCounterWork.

Definition at line 79 of file PoolCounterWorkViaCallback.php.

◆ getCachedWork()

PoolCounterWorkViaCallback::getCachedWork ( )

Retrieve the work from cache.

Returns
mixed Work result or false

Reimplemented from PoolCounterWork.

Definition at line 72 of file PoolCounterWorkViaCallback.php.

Member Data Documentation

◆ $doCachedWork

callable null PoolCounterWorkViaCallback::$doCachedWork
protected

Definition at line 32 of file PoolCounterWorkViaCallback.php.

◆ $doWork

callable PoolCounterWorkViaCallback::$doWork
protected

Definition at line 30 of file PoolCounterWorkViaCallback.php.

◆ $error

callable null PoolCounterWorkViaCallback::$error
protected

Definition at line 36 of file PoolCounterWorkViaCallback.php.

◆ $fallback

callable null PoolCounterWorkViaCallback::$fallback
protected

Definition at line 34 of file PoolCounterWorkViaCallback.php.


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