Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
CirrusGenericJob
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 2
6
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
2
 getSearchConfig
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace CirrusSearch\Job;
4
5use CirrusSearch\SearchConfig;
6use MediaWiki\MediaWikiServices;
7
8/**
9 * CirrusSearch Job that is not bound to a Title
10 */
11abstract class CirrusGenericJob extends \Job implements \GenericParameterJob {
12    use JobTraits;
13
14    /**
15     * @var SearchConfig
16     */
17    protected $searchConfig;
18
19    /**
20     * @inheritDoc
21     */
22    public function __construct( array $params ) {
23        parent::__construct( self::buildJobName( static::class ), $params + [ 'cluster' => null ] );
24
25        // All CirrusSearch jobs are reasonably expensive.  Most involve parsing and it
26        // is ok to remove duplicate _unclaimed_ cirrus jobs.  Once a cirrus job is claimed
27        // it can't be deduplicated or else the search index will end up with out of date
28        // data.  Luckily, this is how the JobQueue implementations work.
29        $this->removeDuplicates = true;
30
31        $this->searchConfig = MediaWikiServices::getInstance()
32            ->getConfigFactory()
33            ->makeConfig( 'CirrusSearch' );
34    }
35
36    /**
37     * @return SearchConfig
38     */
39    public function getSearchConfig(): SearchConfig {
40        return $this->searchConfig;
41    }
42}