if ( $mode === 'enqueue' && $update instanceof EnqueueableDataUpdate ) {
// Run only the job enqueue logic to complete the update later
$spec = $update->getAsJobSpecification();
- JobQueueGroup::singleton( $spec['wiki'] )->push( $spec['job'] );
+ $domain = $spec['domain'] ?? $spec['wiki'];
+ JobQueueGroup::singleton( $domain )->push( $spec['job'] );
} elseif ( $update instanceof TransactionRoundDefiningUpdate ) {
$update->doUpdate();
} else {
}
MWExceptionHandler::rollbackMasterChangesAndLog( $e );
- // Try to push the update as a job so it can run later perhaps
- if ( $mode !== 'enqueue' && $update instanceof EnqueueableDataUpdate ) {
- try {
- $spec = $update->getAsJobSpecification();
- JobQueueGroup::singleton( $spec['wiki'] )->push( $spec['job'] );
- } catch ( Exception $e ) {
- MWExceptionHandler::rollbackMasterChangesAndLog( $e );
- }
- }
-
// VW-style hack to work around T190178, so we can make sure
// PageMetaDataUpdater doesn't throw exceptions.
if ( defined( 'MW_PHPUNIT_TEST' ) ) {
foreach ( $updates as $update ) {
if ( $update instanceof EnqueueableDataUpdate ) {
$spec = $update->getAsJobSpecification();
- JobQueueGroup::singleton( $spec['wiki'] )->push( $spec['job'] );
+ $domain = $spec['domain'] ?? $spec['wiki'];
+ JobQueueGroup::singleton( $domain )->push( $spec['job'] );
} else {
$remaining[] = $update;
}