12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Indexer\App;
- use Magento\Framework\App;
- use Magento\Framework\App\Filesystem\DirectoryList;
- class Indexer implements \Magento\Framework\AppInterface
- {
- /**
- * Report directory
- *
- * @var string
- */
- protected $reportDir;
- /**
- * @var \Magento\Framework\Filesystem
- */
- protected $filesystem;
- /**
- * @var \Magento\Framework\App\Console\Response
- */
- protected $_response;
- /**
- * @param string $reportDir
- * @param \Magento\Framework\Filesystem $filesystem
- * @param \Magento\Indexer\Model\Processor $processor
- * @param \Magento\Framework\App\Console\Response $response
- */
- public function __construct(
- $reportDir,
- \Magento\Framework\Filesystem $filesystem,
- \Magento\Indexer\Model\Processor $processor,
- \Magento\Framework\App\Console\Response $response
- ) {
- $this->reportDir = $reportDir;
- $this->filesystem = $filesystem;
- $this->processor = $processor;
- $this->_response = $response;
- }
- /**
- * Run application
- *
- * @return \Magento\Framework\App\ResponseInterface
- */
- public function launch()
- {
- /* Clean reports */
- $directory = $this->filesystem->getDirectoryWrite(DirectoryList::ROOT);
- $path = $directory->getRelativePath($this->reportDir);
- if ($directory->isExist($path)) {
- $directory->delete($path);
- }
- /* Regenerate all indexers */
- $this->processor->reindexAll();
- $this->_response->setCode(0);
- return $this->_response;
- }
- /**
- * {@inheritdoc}
- */
- public function catchException(App\Bootstrap $bootstrap, \Exception $exception)
- {
- return false;
- }
- }
|