MediaWiki
master
|
Job to update link tables for pages. More...
Public Member Functions | ||||
__construct (PageIdentity $page, array $params) | ||||
getDeduplicationInfo () | ||||
Subclasses may need to override this to make duplication detection work. More... | ||||
run () | ||||
Run the job. More... | ||||
workItemCount () | ||||
![]() | ||||
__construct ( $command, $params=null) | ||||
allowRetries () | ||||
| ||||
getLastError () | ||||
| ||||
getMetadata ( $field=null) | ||||
getParams () | ||||
| ||||
getQueuedTimestamp () | ||||
getReadyTimestamp () | ||||
| ||||
getReleaseTimestamp () | ||||
getRequestId () | ||||
| ||||
getRootJobParams () | ||||
getTitle () | ||||
getType () | ||||
| ||||
hasExecutionFlag ( $flag) | ||||
| ||||
hasRootJobParams () | ||||
ignoreDuplicates () | ||||
Whether the queue should reject insertion of this job if a duplicate exists. More... | ||||
isRootJob () | ||||
setMetadata ( $field, $value) | ||||
teardown ( $status) | ||||
toString () | ||||
| ||||
![]() | ||||
tearDown ( $status) | ||||
Do any final cleanup after run(), deferred updates, and all DB commits happen. More... | ||||
Static Public Member Functions | |
static | newDynamic (PageIdentity $page, array $params) |
static | newPrioritized (PageIdentity $page, array $params) |
![]() | |
static | factory ( $command, $params=[]) |
Create the appropriate object to handle a specific job. More... | |
static | newRootJobParams ( $key) |
Get "root job" parameters for a task. More... | |
Protected Member Functions | |
runForTitle (PageIdentity $pageIdentity) | |
![]() | |
addTeardownCallback ( $callback) | |
setLastError ( $error) | |
Private Member Functions | |
getCurrentRevisionIfUnchanged (WikiPage $page, StatsdDataFactoryInterface $stats) | |
Get the current revision record if it is unchanged from what was loaded in $page. More... | |
getDataUpdateOptions () | |
getParserOutput (RevisionRenderer $renderer, ParserCache $parserCache, WikiPage $page, StatsdDataFactoryInterface $stats) | |
Get the parser output if the page is unchanged from what was loaded in $page. More... | |
getParserOutputFromCache (ParserCache $parserCache, WikiPage $page, RevisionRecord $currentRevision, StatsdDataFactoryInterface $stats) | |
Get the parser output from cache if it reflects the change that triggered this job. More... | |
isAlreadyRefreshed (WikiPage $page) | |
Additional Inherited Members | |
![]() | |
string | $command |
array | $metadata = [] |
Additional queue metadata. More... | |
array | $params |
Array of job parameters. More... | |
![]() | |
string | $error |
Text for error that occurred last. More... | |
int | $executionFlags = 0 |
Bitfield of JOB_* class constants. More... | |
bool | $removeDuplicates = false |
Expensive jobs may set this to true. More... | |
callable[] | $teardownCallbacks = [] |
Title | $title |
Job to update link tables for pages.
This job comes in a few variants:
Metrics:
refreshlinks_warning.<warning>
: A recoverable issue. The job will continue as normal.refreshlinks_outcome.<reason>
: If the job ends with an unusual outcome, it will increment this exactly once. The reason starts with bad_
, a failure is logged and the job may be retried later. The reason starts with good_
, the job was cancelled and considered a success, i.e. it was superseded. Definition at line 58 of file RefreshLinksJob.php.
RefreshLinksJob::__construct | ( | PageIdentity | $page, |
array | $params | ||
) |
Definition at line 64 of file RefreshLinksJob.php.
References Job\$params, and Page\PageIdentity\canExist().
|
private |
Get the current revision record if it is unchanged from what was loaded in $page.
Definition at line 325 of file RefreshLinksJob.php.
References Job\$title, WikiPage\getId(), Title\getLatestRevID(), WikiPage\getRevisionRecord(), WikiPage\getTitle(), and Job\setLastError().
Referenced by getParserOutput().
|
private |
Definition at line 428 of file RefreshLinksJob.php.
References User\newFromId(), and User\newFromName().
Referenced by runForTitle().
RefreshLinksJob::getDeduplicationInfo | ( | ) |
Subclasses may need to override this to make duplication detection work.
The resulting map conveys everything that makes the job unique. This is only checked if ignoreDuplicates() returns true, meaning that duplicate jobs are supposed to be ignored.
Reimplemented from Job.
Definition at line 448 of file RefreshLinksJob.php.
|
private |
Get the parser output if the page is unchanged from what was loaded in $page.
RevisionRenderer | $renderer | |
ParserCache | $parserCache | |
WikiPage | $page | Page already loaded with READ_LATEST |
StatsdDataFactoryInterface | $stats |
Definition at line 287 of file RefreshLinksJob.php.
References getCurrentRevisionIfUnchanged(), getParserOutputFromCache(), MediaWiki\Revision\RevisionRenderer\getRenderedRevision(), WikiPage\makeParserOptions(), and wfTimestampNow().
Referenced by runForTitle().
|
private |
Get the parser output from cache if it reflects the change that triggered this job.
ParserCache | $parserCache | |
WikiPage | $page | |
RevisionRecord | $currentRevision | |
StatsdDataFactoryInterface | $stats |
Definition at line 375 of file RefreshLinksJob.php.
References ParserCache\getDirty(), MediaWiki\Revision\RevisionRecord\getId(), WikiPage\getTouched(), WikiPage\makeParserOptions(), and wfTimestamp().
Referenced by getParserOutput().
|
private |
WikiPage | $page |
Definition at line 256 of file RefreshLinksJob.php.
References WikiPage\getLinksTimestamp(), and wfTimestamp().
Referenced by runForTitle().
|
static |
PageIdentity | $page | |
array | $params |
Definition at line 105 of file RefreshLinksJob.php.
References $job, and Job\$params.
Referenced by WikiPage\triggerOpportunisticLinksUpdate().
|
static |
PageIdentity | $page | |
array | $params |
Definition at line 93 of file RefreshLinksJob.php.
References $job, and Job\$params.
Referenced by MediaWiki\Deferred\LinksUpdate\LinksUpdate\queueRecursiveJobs(), and WikiPage\triggerOpportunisticLinksUpdate().
RefreshLinksJob::run | ( | ) |
Run the job.
Implements RunnableJob.
Definition at line 112 of file RefreshLinksJob.php.
References Job\$title, Title\canExist(), Job\getRootJobParams(), Title\makeTitleSafe(), BacklinkJobUtils\partitionBacklinkJob(), runForTitle(), and Job\setLastError().
|
protected |
PageIdentity | $pageIdentity |
Definition at line 173 of file RefreshLinksJob.php.
References DB_PRIMARY, getDataUpdateOptions(), getParserOutput(), InfoAction\invalidateCache(), isAlreadyRefreshed(), and Job\setLastError().
Referenced by run().
RefreshLinksJob::workItemCount | ( | ) |
Reimplemented from Job.
Definition at line 464 of file RefreshLinksJob.php.