MediaWiki
1.34.0
|
Class for managing stashed edits used by the page updater classes. More...
Public Member Functions | |
__construct (BagOStuff $cache, ILoadBalancer $lb, LoggerInterface $logger, StatsdDataFactoryInterface $stats, $initiator) | |
checkCache (Title $title, Content $content, User $user) | |
Check that a prepared edit is in cache and still up-to-date. More... | |
fetchInputText ( $textHash) | |
parseAndCache (WikiPage $page, Content $content, User $user, $summary) | |
stashInputText ( $text, $textHash) | |
Public Attributes | |
const | ERROR_BUSY = 'busy' |
const | ERROR_CACHE = 'error_cache' |
const | ERROR_NONE = 'stashed' |
const | ERROR_PARSE = 'error_parse' |
const | ERROR_UNCACHEABLE = 'uncacheable' |
const | INITIATOR_JOB_OR_CLI = 2 |
const | INITIATOR_USER = 1 |
const | MAX_CACHE_RECENT = 2 |
const | MAX_CACHE_TTL = 300 |
const | MAX_SIGNATURE_TTL = 60 |
const | PRESUME_FRESH_TTL_SEC = 30 |
Private Member Functions | |
getAndWaitForStashValue ( $key) | |
getContentHash (Content $content) | |
Get hash of the content, factoring in model/format. More... | |
getStashKey (Title $title, $contentHash, User $user) | |
Get the temporary prepared edit stash key for a user. More... | |
getStashValue ( $key) | |
incrStatsByContent ( $subkey, Content $content) | |
lastEditTime (User $user) | |
pruneExcessStashedEntries (User $user, $newKey) | |
recentStashEntryCount (User $user) | |
storeStashValue ( $key, Content $pstContent, ParserOutput $parserOutput, $timestamp, User $user) | |
Build a value to store in memcached based on the PST content and parser output. More... | |
Private Attributes | |
BagOStuff | $cache |
int | $initiator |
ILoadBalancer | $lb |
LoggerInterface | $logger |
StatsdDataFactoryInterface | $stats |
Class for managing stashed edits used by the page updater classes.
Definition at line 44 of file PageEditStash.php.
MediaWiki\Storage\PageEditStash::__construct | ( | BagOStuff | $cache, |
ILoadBalancer | $lb, | ||
LoggerInterface | $logger, | ||
StatsdDataFactoryInterface | $stats, | ||
$initiator | |||
) |
BagOStuff | $cache | |
ILoadBalancer | $lb | |
LoggerInterface | $logger | |
StatsdDataFactoryInterface | $stats | |
int | $initiator | Class INITIATOR__* constant |
Definition at line 78 of file PageEditStash.php.
References MediaWiki\Storage\PageEditStash\$cache, MediaWiki\Storage\PageEditStash\$initiator, MediaWiki\Storage\PageEditStash\$lb, MediaWiki\Storage\PageEditStash\$logger, and MediaWiki\Storage\PageEditStash\$stats.
Check that a prepared edit is in cache and still up-to-date.
This method blocks if the prepared edit is already being rendered, waiting until rendering finishes before doing final validity checks.
The cache is rejected if template or file changes are detected. Note that foreign template or file transclusions are not checked.
This returns an object with the following fields:
Definition at line 200 of file PageEditStash.php.
References MediaWiki\$context, MediaWiki\Storage\PageEditStash\$logger, $title, MediaWiki\Storage\PageEditStash\getAndWaitForStashValue(), MediaWiki\Storage\PageEditStash\getContentHash(), User\getEditCount(), User\getName(), User\getRequest(), MediaWiki\Storage\PageEditStash\getStashKey(), MediaWiki\Storage\PageEditStash\incrStatsByContent(), User\isAnon(), User\isBot(), MediaWiki\Storage\PageEditStash\lastEditTime(), MediaWiki\Storage\PageEditStash\recentStashEntryCount(), and wfTimestamp().
MediaWiki\Storage\PageEditStash::fetchInputText | ( | $textHash | ) |
string | $textHash |
Definition at line 340 of file PageEditStash.php.
|
private |
string | $key |
Definition at line 314 of file PageEditStash.php.
References MediaWiki\Storage\PageEditStash\getStashValue().
Referenced by MediaWiki\Storage\PageEditStash\checkCache().
|
private |
Get hash of the content, factoring in model/format.
Content | $content |
Definition at line 388 of file PageEditStash.php.
References $content.
Referenced by MediaWiki\Storage\PageEditStash\checkCache(), and MediaWiki\Storage\PageEditStash\parseAndCache().
Get the temporary prepared edit stash key for a user.
This key can be used for caching prepared edits provided:
Title | $title | |
string | $contentHash | Result of getContentHash() |
User | $user | User to get parser options from |
Definition at line 408 of file PageEditStash.php.
References $title, User\getId(), and User\getName().
Referenced by MediaWiki\Storage\PageEditStash\checkCache(), and MediaWiki\Storage\PageEditStash\parseAndCache().
|
private |
string | $key |
Definition at line 423 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\getAndWaitForStashValue(), and MediaWiki\Storage\PageEditStash\parseAndCache().
|
private |
string | $subkey | |
Content | $content |
Definition at line 305 of file PageEditStash.php.
References $content.
Referenced by MediaWiki\Storage\PageEditStash\checkCache().
|
private |
User | $user |
Definition at line 366 of file PageEditStash.php.
References DB_REPLICA, ActorMigration\newMigration(), and wfTimestampOrNull().
Referenced by MediaWiki\Storage\PageEditStash\checkCache().
MediaWiki\Storage\PageEditStash::parseAndCache | ( | WikiPage | $page, |
Content | $content, | ||
User | $user, | ||
$summary | |||
) |
Definition at line 99 of file PageEditStash.php.
References $content, MediaWiki\$context, MediaWiki\Storage\PageEditStash\$logger, $title, DB_MASTER, MediaWiki\Storage\PageEditStash\ERROR_BUSY, MediaWiki\Storage\PageEditStash\ERROR_CACHE, MediaWiki\Storage\PageEditStash\ERROR_NONE, MediaWiki\Storage\PageEditStash\ERROR_PARSE, MediaWiki\Storage\PageEditStash\ERROR_UNCACHEABLE, MediaWiki\Storage\PageEditStash\getContentHash(), MediaWiki\Storage\PageEditStash\getStashKey(), MediaWiki\Storage\PageEditStash\getStashValue(), WikiPage\getTitle(), WikiPage\prepareContentForEdit(), MediaWiki\Storage\PageEditStash\PRESUME_FRESH_TTL_SEC, Hooks\run(), MediaWiki\Storage\PageEditStash\storeStashValue(), and wfTimestamp().
|
private |
User | $user | |
string | $newKey |
Definition at line 485 of file PageEditStash.php.
References User\getName(), and BagOStuff\WRITE_PRUNE_SEGMENTS.
Referenced by MediaWiki\Storage\PageEditStash\storeStashValue().
|
private |
User | $user |
Definition at line 502 of file PageEditStash.php.
References User\getName().
Referenced by MediaWiki\Storage\PageEditStash\checkCache().
MediaWiki\Storage\PageEditStash::stashInputText | ( | $text, | |
$textHash | |||
) |
string | $text | |
string | $textHash |
Definition at line 351 of file PageEditStash.php.
References BagOStuff\WRITE_ALLOW_SEGMENTS.
|
private |
Build a value to store in memcached based on the PST content and parser output.
This makes a simple version of WikiPage::prepareContentForEdit() as stash info
string | $key | |
Content | $pstContent | Pre-Save transformed content |
ParserOutput | $parserOutput | |
string | $timestamp | TS_MW |
User | $user |
Definition at line 444 of file PageEditStash.php.
References CacheTime\getCacheExpiry(), CacheTime\getCacheTime(), User\getEditCount(), ParserOutput\getFlag(), MediaWiki\Storage\PageEditStash\MAX_CACHE_TTL, MediaWiki\Storage\PageEditStash\pruneExcessStashedEntries(), true, wfTimestamp(), and BagOStuff\WRITE_ALLOW_SEGMENTS.
Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().
|
private |
Definition at line 46 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\__construct().
|
private |
Definition at line 54 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\__construct().
|
private |
Definition at line 48 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\__construct().
|
private |
Definition at line 50 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\__construct(), MediaWiki\Storage\PageEditStash\checkCache(), and MediaWiki\Storage\PageEditStash\parseAndCache().
|
private |
Definition at line 52 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\__construct().
const MediaWiki\Storage\PageEditStash::ERROR_BUSY = 'busy' |
Definition at line 60 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().
const MediaWiki\Storage\PageEditStash::ERROR_CACHE = 'error_cache' |
Definition at line 58 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().
const MediaWiki\Storage\PageEditStash::ERROR_NONE = 'stashed' |
Definition at line 56 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().
const MediaWiki\Storage\PageEditStash::ERROR_PARSE = 'error_parse' |
Definition at line 57 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().
const MediaWiki\Storage\PageEditStash::ERROR_UNCACHEABLE = 'uncacheable' |
Definition at line 59 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().
const MediaWiki\Storage\PageEditStash::INITIATOR_JOB_OR_CLI = 2 |
Definition at line 69 of file PageEditStash.php.
const MediaWiki\Storage\PageEditStash::INITIATOR_USER = 1 |
Definition at line 68 of file PageEditStash.php.
const MediaWiki\Storage\PageEditStash::MAX_CACHE_RECENT = 2 |
Definition at line 66 of file PageEditStash.php.
const MediaWiki\Storage\PageEditStash::MAX_CACHE_TTL = 300 |
Definition at line 63 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\storeStashValue().
const MediaWiki\Storage\PageEditStash::MAX_SIGNATURE_TTL = 60 |
Definition at line 64 of file PageEditStash.php.
const MediaWiki\Storage\PageEditStash::PRESUME_FRESH_TTL_SEC = 30 |
Definition at line 62 of file PageEditStash.php.
Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().