Skip to content

Commit 554a7f6

Browse files
author
Egor Shitikov
committed
MAGETWO-36326: Create fixture for changing indexers mode (on save/scheduled)
1 parent bee8b61 commit 554a7f6

File tree

3 files changed

+60
-3
lines changed

3 files changed

+60
-3
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
/**
8+
* Class IndexersApplyFixture
9+
*/
10+
class IndexersApplyFixture extends \Magento\ToolkitFramework\Fixture
11+
{
12+
/**
13+
* @var int
14+
*/
15+
protected $priority = 170;
16+
17+
/**
18+
* {@inheritdoc}
19+
*/
20+
public function execute()
21+
{
22+
$indexers = \Magento\ToolkitFramework\Config::getInstance()->getValue('indexers', array());
23+
$this->application->resetObjectManager();
24+
25+
foreach ($indexers["indexer"] as $indexer) {
26+
$this->application->indexerStates[$indexer['id']] = $indexer['set_scheduled'];
27+
}
28+
29+
$this->application->getObjectManager()->get('Magento\Framework\App\CacheInterface')
30+
->clean([\Magento\Framework\App\Config::CACHE_TAG]);
31+
}
32+
33+
/**
34+
* {@inheritdoc}
35+
*/
36+
public function getActionTitle()
37+
{
38+
return 'Indexer Mode Changes';
39+
}
40+
41+
/**
42+
* {@inheritdoc}
43+
*/
44+
public function introduceParamLabels()
45+
{
46+
return [];
47+
}
48+
}
49+
50+
return new IndexersApplyFixture($this);

dev/tools/performance-toolkit/framework/Magento/ToolkitFramework/Application.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ class Application
6969
*/
7070
protected $_initArguments;
7171

72+
/**
73+
* Indexer states values
74+
*
75+
* @var array
76+
*/
77+
public $indexerStates;
78+
7279
/**
7380
* @param string $applicationBaseDir
7481
* @param \Magento\Framework\Shell $shell

dev/tools/performance-toolkit/generate.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@
4646
$indexerListIds = $config->getIndexers();
4747
/** @var $indexerRegistry \Magento\Indexer\Model\IndexerRegistry */
4848
$indexerRegistry = $application->getObjectManager()->create('Magento\Indexer\Model\IndexerRegistry');
49-
$indexersState = [];
49+
$application->indexerStates = [];
5050
foreach ($indexerListIds as $key => $indexerId) {
5151
$indexer = $indexerRegistry->get($indexerId['indexer_id']);
52-
$indexersState[$indexerId['indexer_id']] = $indexer->isScheduled();
52+
$application->indexerStates[$indexerId['indexer_id']] = $indexer->isScheduled();
5353
$indexer->setScheduled(true);
5454
}
5555

@@ -65,7 +65,7 @@
6565
foreach ($indexerListIds as $indexerId) {
6666
/** @var $indexer \Magento\Indexer\Model\Indexer */
6767
$indexer = $indexerRegistry->get($indexerId['indexer_id']);
68-
$indexer->setScheduled($indexersState[$indexerId['indexer_id']]);
68+
$indexer->setScheduled($application->indexerStates[$indexerId['indexer_id']]);
6969
}
7070

7171
$application->reindex();

0 commit comments

Comments
 (0)