MediaWiki  1.23.2
PoolCounterWork Class Reference

Class for dealing with PoolCounters using class members. More...

Inheritance diagram for PoolCounterWork:

Public Member Functions

 __construct ( $type, $key)
 
 doWork ()
 Actually perform the work, caching it if needed. More...
 
 error ( $status)
 Do something with the error, like showing it to the user. More...
 
 execute ( $skipcache=false)
 Get the result of the work (whatever it is), or the result of the error() function. More...
 
 fallback ()
 A work not so good (eg. More...
 
 getCachedWork ()
 Retrieve the work from cache. More...
 
 logError ( $status)
 Log an error. More...
 

Protected Attributes

 $cacheable = false
 

Detailed Description

Class for dealing with PoolCounters using class members.

Definition at line 27 of file PoolCounterWork.php.

Constructor & Destructor Documentation

◆ __construct()

PoolCounterWork::__construct (   $type,
  $key 
)
Parameters
string$typeThe type of PoolCounter to use
string$keyKey that identifies the queue this work is placed on

Definition at line 34 of file PoolCounterWork.php.

References $type, and PoolCounter\factory().

Member Function Documentation

◆ doWork()

PoolCounterWork::doWork ( )
abstract

Actually perform the work, caching it if needed.

Returns
mixed work result or false

Reimplemented in PoolWorkArticleView, and PoolCounterWorkViaCallback.

Referenced by execute().

◆ error()

PoolCounterWork::error (   $status)

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

Returns
bool

Reimplemented in PoolWorkArticleView, and PoolCounterWorkViaCallback.

Definition at line 65 of file PoolCounterWork.php.

Referenced by execute().

◆ execute()

PoolCounterWork::execute (   $skipcache = false)

Get the result of the work (whatever it is), or the result of the error() function.

This returns the result of the first applicable method that returns a non-false value, where the methods are checked in the following order:

  • a) doWork() : Applies if the work is exclusive or no another process is doing it, and on the condition that either this process successfully entered the pool or the pool counter is down.
  • b) doCachedWork() : Applies if the work is cacheable and this blocked on another process which finished the work.
  • c) fallback() : Applies for all remaining cases. If these all fall through (by returning false), then the result of error() is returned.
Parameters
$skipcachebool
Returns
mixed

Definition at line 97 of file PoolCounterWork.php.

References array(), PoolCounter\DONE, doWork(), PoolCounter\ERROR, error(), fallback(), getCachedWork(), PoolCounter\LOCKED, logError(), Status\newFatal(), PoolCounter\QUEUE_FULL, and PoolCounter\TIMEOUT.

◆ fallback()

PoolCounterWork::fallback ( )

A work not so good (eg.

expired one) but better than an error message.

Returns
mixed work result or false

Reimplemented in PoolWorkArticleView, and PoolCounterWorkViaCallback.

Definition at line 57 of file PoolCounterWork.php.

Referenced by execute().

◆ getCachedWork()

PoolCounterWork::getCachedWork ( )

Retrieve the work from cache.

Returns
mixed work result or false

Reimplemented in PoolWorkArticleView, and PoolCounterWorkViaCallback.

Definition at line 48 of file PoolCounterWork.php.

Referenced by execute().

◆ logError()

PoolCounterWork::logError (   $status)

Log an error.

Parameters
$statusStatus
Returns
void

Definition at line 75 of file PoolCounterWork.php.

References wfDebugLog().

Referenced by execute().

Member Data Documentation

◆ $cacheable

PoolCounterWork::$cacheable = false
protected

Definition at line 28 of file PoolCounterWork.php.


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