X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fjobqueue%2FJobQueueGroup.php;h=71d68d9f9336f2e6cbf730c1b9ab9663ee47cf58;hb=8b19d69c294ee20f4f1d0bf14583fd8377e38bae;hp=a4b32411cf436d47f2e2ada76220c55daf562ac3;hpb=720c86a77be582876cd934223ce8f9c55fc3bd68;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/jobqueue/JobQueueGroup.php b/includes/jobqueue/JobQueueGroup.php index a4b32411cf..71d68d9f93 100644 --- a/includes/jobqueue/JobQueueGroup.php +++ b/includes/jobqueue/JobQueueGroup.php @@ -120,6 +120,8 @@ class JobQueueGroup { * @return void */ public function push( $jobs ) { + global $wgJobTypesExcludedFromDefaultQueue; + $jobs = is_array( $jobs ) ? $jobs : [ $jobs ]; if ( !count( $jobs ) ) { return; @@ -142,6 +144,20 @@ class JobQueueGroup { $this->cache->clear( 'queues-ready' ); } } + + $cache = ObjectCache::getLocalClusterInstance(); + $cache->set( + $cache->makeGlobalKey( 'jobqueue', $this->wiki, 'hasjobs', self::TYPE_ANY ), + 'true', + 15 + ); + if ( array_diff( array_keys( $jobsByType ), $wgJobTypesExcludedFromDefaultQueue ) ) { + $cache->set( + $cache->makeGlobalKey( 'jobqueue', $this->wiki, 'hasjobs', self::TYPE_DEFAULT ), + 'true', + 15 + ); + } } /** @@ -255,7 +271,7 @@ class JobQueueGroup { } /** - * Wait for any slaves or backup queue servers to catch up. + * Wait for any replica DBs or backup queue servers to catch up. * * This does nothing for certain queue classes. * @@ -298,8 +314,8 @@ class JobQueueGroup { * @since 1.23 */ public function queuesHaveJobs( $type = self::TYPE_ANY ) { - $key = wfMemcKey( 'jobqueue', 'queueshavejobs', $type ); $cache = ObjectCache::getLocalClusterInstance(); + $key = $cache->makeGlobalKey( 'jobqueue', $this->wiki, 'hasjobs', $type ); $value = $cache->get( $key ); if ( $value === false ) {