X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fjobqueue%2FJobQueueFederated.php;h=8b5a62ef54cfd663fe9830384073266820ee38c8;hb=e3c745fea0c5231cc425a0223c9d4567152171a0;hp=2025bf7b93e5c167c6b2236c96b7067028b86660;hpb=f9c735e3ed316b8d1601375b68b0a0b60cf06b59;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/jobqueue/JobQueueFederated.php b/includes/jobqueue/JobQueueFederated.php index 2025bf7b93..8b5a62ef54 100644 --- a/includes/jobqueue/JobQueueFederated.php +++ b/includes/jobqueue/JobQueueFederated.php @@ -199,7 +199,7 @@ class JobQueueFederated extends JobQueue { * @param HashRing &$partitionRing * @param int $flags * @throws JobQueueError - * @return array List of Job object that could not be inserted + * @return IJobSpecification[] List of Job object that could not be inserted */ protected function tryJobInsertions( array $jobs, HashRing &$partitionRing, $flags ) { $jobsLeft = []; @@ -287,7 +287,7 @@ class JobQueueFederated extends JobQueue { $job = false; } if ( $job ) { - $job->metadata['QueuePartition'] = $partition; + $job->setMetadata( 'QueuePartition', $partition ); return $job; } else { @@ -299,15 +299,16 @@ class JobQueueFederated extends JobQueue { return false; } - protected function doAck( Job $job ) { - if ( !isset( $job->metadata['QueuePartition'] ) ) { + protected function doAck( RunnableJob $job ) { + $partition = $job->getMetadata( 'QueuePartition' ); + if ( $partition === null ) { throw new MWException( "The given job has no defined partition name." ); } - $this->partitionQueues[$job->metadata['QueuePartition']]->ack( $job ); + $this->partitionQueues[$partition]->ack( $job ); } - protected function doIsRootJobOldDuplicate( Job $job ) { + protected function doIsRootJobOldDuplicate( IJobSpecification $job ) { $signature = $job->getRootJobParams()['rootJobSignature']; $partition = $this->partitionRing->getLiveLocation( $signature ); try {