Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 6 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 1 |
CirrusGenericJob | |
0.00% |
0 / 6 |
|
0.00% |
0 / 2 |
6 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 5 |
|
0.00% |
0 / 1 |
2 | |||
getSearchConfig | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace CirrusSearch\Job; |
4 | |
5 | use CirrusSearch\SearchConfig; |
6 | use MediaWiki\MediaWikiServices; |
7 | |
8 | /** |
9 | * CirrusSearch Job that is not bound to a Title |
10 | */ |
11 | abstract 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 | } |