|
MediaWiki REL1_35
|
Class to handle enqueueing of background jobs. More...

Public Member Functions | |
| ack (RunnableJob $job) | |
| Acknowledge that a job was completed. | |
| deduplicateRootJob (RunnableJob $job) | |
| Register the "root job" of a given job into the queue for de-duplication. | |
| get ( $type) | |
| Get the job queue object for a given queue type. | |
| getDefaultQueueTypes () | |
| Get the list of default queue types. | |
| getQueueSizes () | |
| Get the size of the queues for a list of job types. | |
| getQueuesWithJobs () | |
| Get the list of job types that have non-empty queues. | |
| getQueueTypes () | |
| Get the list of queue types. | |
| lazyPush ( $jobs) | |
| Buffer jobs for insertion via push() or call it now if in CLI mode. | |
| pop ( $qtype=self::TYPE_DEFAULT, $flags=0, array $blacklist=[]) | |
| Pop a job off one of the job queues. | |
| push ( $jobs) | |
| Insert jobs into the respective queues of which they belong. | |
| queuesHaveJobs ( $type=self::TYPE_ANY) | |
| Check if there are any queues with jobs (this is cached) | |
| waitForBackups () | |
| Wait for any replica DBs or backup queue servers to catch up. | |
Static Public Member Functions | |
| static | destroySingletons () |
| Destroy the singleton instances. | |
| static | singleton ( $domain=false) |
Public Attributes | |
| const | TYPE_DEFAULT = 1 |
| const | USE_CACHE = 1 |
Protected Member Functions | |
| __construct ( $domain, $readOnlyReason) | |
| getCoalescedQueues () | |
Protected Attributes | |
| MapCacheLRU | $cache |
| array | $coalescedQueues |
| Map of (bucket => (queue => JobQueue, types => list of types) | |
| string | $domain |
| Wiki domain ID. | |
| bool | $invalidDomain = false |
| Whether the wiki is not recognized in configuration. | |
| string bool | $readOnlyReason |
| Read only rationale (or false if r/w) | |
Static Protected Attributes | |
| static JobQueueGroup[] | $instances = [] |
Private Member Functions | |
| assertValidJobs (array $jobs) | |
| factoryJobQueue (array $conf) | |
| getCachedConfigVar ( $name) | |
Private Attributes | |
| const | CACHE_VERSION = 1 |
| const | PROC_CACHE_TTL = 15 |
| const | TYPE_ANY = 2 |
Class to handle enqueueing of background jobs.
Definition at line 30 of file JobQueueGroup.php.
|
protected |
| string | $domain | Wiki domain ID |
| string | bool | $readOnlyReason | Read-only reason or false |
Definition at line 60 of file JobQueueGroup.php.
| JobQueueGroup::ack | ( | RunnableJob | $job | ) |
Acknowledge that a job was completed.
| RunnableJob | $job |
Definition at line 286 of file JobQueueGroup.php.
References $job, ack(), and IJobSpecification\getType().
Referenced by ack().
|
private |
| array | $jobs |
| InvalidArgumentException |
Definition at line 470 of file JobQueueGroup.php.
References $job.
Referenced by lazyPush(), and push().
| JobQueueGroup::deduplicateRootJob | ( | RunnableJob | $job | ) |
Register the "root job" of a given job into the queue for de-duplication.
This should only be called right after all the new jobs have been inserted.
| RunnableJob | $job |
Definition at line 297 of file JobQueueGroup.php.
References $job, deduplicateRootJob(), and IJobSpecification\getType().
Referenced by deduplicateRootJob().
|
static |
|
private |
| array | $conf |
| JobQueueError |
Definition at line 129 of file JobQueueGroup.php.
References JobQueue\factory().
Referenced by get(), and getCoalescedQueues().
| JobQueueGroup::get | ( | $type | ) |
Get the job queue object for a given queue type.
| string | $type |
Definition at line 108 of file JobQueueGroup.php.
References $type, $wgJobTypeConf, and factoryJobQueue().
|
private |
| string | $name |
Definition at line 444 of file JobQueueGroup.php.
References $cache, $GLOBALS, and $wgConf.
Referenced by getQueueTypes().
|
protected |
Definition at line 413 of file JobQueueGroup.php.
References $queue, $type, $wgJobTypeConf, factoryJobQueue(), and getQueueTypes().
Referenced by getQueueSizes(), and getQueuesWithJobs().
| JobQueueGroup::getDefaultQueueTypes | ( | ) |
Get the list of default queue types.
Definition at line 331 of file JobQueueGroup.php.
References $wgJobTypesExcludedFromDefaultQueue, and getQueueTypes().
Referenced by pop(), and queuesHaveJobs().
| JobQueueGroup::getQueueSizes | ( | ) |
Get the size of the queues for a list of job types.
Definition at line 391 of file JobQueueGroup.php.
References $queue, $type, getCoalescedQueues(), and getQueueTypes().
| JobQueueGroup::getQueuesWithJobs | ( | ) |
Get the list of job types that have non-empty queues.
Definition at line 366 of file JobQueueGroup.php.
References $queue, $type, getCoalescedQueues(), and getQueueTypes().
Referenced by pop(), and queuesHaveJobs().
| JobQueueGroup::getQueueTypes | ( | ) |
Get the list of queue types.
Definition at line 322 of file JobQueueGroup.php.
References getCachedConfigVar().
Referenced by getCoalescedQueues(), getDefaultQueueTypes(), getQueueSizes(), and getQueuesWithJobs().
| JobQueueGroup::lazyPush | ( | $jobs | ) |
Buffer jobs for insertion via push() or call it now if in CLI mode.
| IJobSpecification | IJobSpecification[] | $jobs | A single Job or a list of Jobs |
Definition at line 203 of file JobQueueGroup.php.
References assertValidJobs(), and push().
| JobQueueGroup::pop | ( | $qtype = self::TYPE_DEFAULT, |
|
$flags = 0, |
|||
| array | $blacklist = [] |
||
| ) |
Pop a job off one of the job queues.
This pops a job off a queue as specified by $wgJobTypeConf and updates the aggregate job queue information cache as needed.
| int | string | $qtype | JobQueueGroup::TYPE_* constant or job type string |
| int | $flags | Bitfield of JobQueueGroup::USE_* constants |
| array | $blacklist | List of job types to ignore |
Definition at line 233 of file JobQueueGroup.php.
References $job, $type, $wgJobClasses, getDefaultQueueTypes(), getQueuesWithJobs(), and pop().
Referenced by pop().
| JobQueueGroup::push | ( | $jobs | ) |
Insert jobs into the respective queues of which they belong.
This inserts the jobs into the queue specified by $wgJobTypeConf and updates the aggregate job queue information cache as needed.
| IJobSpecification | IJobSpecification[] | $jobs | A single Job or a list of Jobs |
| InvalidArgumentException |
Definition at line 148 of file JobQueueGroup.php.
References $cache, $job, $type, $wgJobTypesExcludedFromDefaultQueue, assertValidJobs(), and push().
Referenced by lazyPush(), and push().
| JobQueueGroup::queuesHaveJobs | ( | $type = self::TYPE_ANY | ) |
Check if there are any queues with jobs (this is cached)
| int | $type | JobQueueGroup::TYPE_* constant |
Definition at line 344 of file JobQueueGroup.php.
References $cache, $type, getDefaultQueueTypes(), and getQueuesWithJobs().
|
static |
| bool | string | $domain | Wiki domain ID |
Definition at line 70 of file JobQueueGroup.php.
References $wgLocalDatabases, and wfConfiguredReadOnlyReason().
| JobQueueGroup::waitForBackups | ( | ) |
Wait for any replica DBs or backup queue servers to catch up.
This does nothing for certain queue classes.
Definition at line 308 of file JobQueueGroup.php.
References $type, $wgJobTypeConf, and waitForBackups().
Referenced by waitForBackups().
|
protected |
Definition at line 35 of file JobQueueGroup.php.
|
protected |
Map of (bucket => (queue => JobQueue, types => list of types)
Definition at line 45 of file JobQueueGroup.php.
|
protected |
Wiki domain ID.
Definition at line 38 of file JobQueueGroup.php.
|
staticprotected |
Definition at line 32 of file JobQueueGroup.php.
|
protected |
Whether the wiki is not recognized in configuration.
Definition at line 42 of file JobQueueGroup.php.
|
protected |
Read only rationale (or false if r/w)
Definition at line 40 of file JobQueueGroup.php.
|
private |
Definition at line 54 of file JobQueueGroup.php.
|
private |
Definition at line 52 of file JobQueueGroup.php.
|
private |
Definition at line 48 of file JobQueueGroup.php.
| const JobQueueGroup::TYPE_DEFAULT = 1 |
Definition at line 47 of file JobQueueGroup.php.
| const JobQueueGroup::USE_CACHE = 1 |
Definition at line 50 of file JobQueueGroup.php.