MediaWiki REL1_37
|
Helper class for representing batch file operations. More...
Static Public Member Functions | |
static | attempt (array $performOps, array $opts, FileJournal $journal) |
Attempt to perform a series of file operations. | |
Static Protected Member Functions | |
static | runParallelBatches (array $pPerformOps, StatusValue $status) |
Attempt a list of file operations sub-batches in series. | |
Private Attributes | |
const | MAX_BATCH_SIZE = 1000 |
Helper class for representing batch file operations.
Do not use this class from places outside FileBackend.
Methods should avoid throwing exceptions at all costs.
Definition at line 33 of file FileOpBatch.php.
|
static |
Attempt to perform a series of file operations.
Callers are responsible for handling file locking.
$opts is an array of options, including:
The resulting StatusValue will be "OK" unless:
FileOp[] | $performOps | List of FileOp operations |
array | $opts | Batch operation options |
FileJournal | $journal | Journal to log operations to |
Definition at line 56 of file FileOpBatch.php.
References FileJournal\getTimestampedUUID(), FileJournal\logChangeBatch(), FileOp\newDependencies(), FileOp\newPredicates(), and runParallelBatches().
Referenced by FileBackendStore\doOperationsInternal().
|
staticprotected |
Attempt a list of file operations sub-batches in series.
The operations in each sub-batch will be done in parallel. The caller is responsible for making sure the operations within any given sub-batch do not depend on each other. This will abort remaining ops on failure.
FileOp[][] | $pPerformOps | Batches of file ops (batches use original indexes) |
StatusValue | $status |
Definition at line 148 of file FileOpBatch.php.
References StatusValue\merge().
Referenced by attempt().
|
private |
Definition at line 35 of file FileOpBatch.php.