context = $context; $this->eventManager = $eventManager; } /** * Update indexer views * * @param \Magento\Indexer\Model\Processor $subject * @return void * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterUpdateMview(\Magento\Indexer\Model\Processor $subject) { $this->eventManager->dispatch('clean_cache_after_reindex', ['object' => $this->context]); if (!empty($this->context->getIdentities())) { $this->getCache()->clean($this->context->getIdentities()); } } /** * Clear cache after reindex all * * @param \Magento\Indexer\Model\Processor $subject * @return void * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterReindexAllInvalid(\Magento\Indexer\Model\Processor $subject) { $this->eventManager->dispatch('clean_cache_by_tags', ['object' => $this->context]); if (!empty($this->context->getIdentities())) { $this->getCache()->clean($this->context->getIdentities()); } } /** * Get cache interface * * @return \Magento\Framework\App\CacheInterface * @deprecated 100.1.1 */ private function getCache() { if ($this->cache === null) { $this->cache = \Magento\Framework\App\ObjectManager::getInstance()->get(CacheInterface::class); } return $this->cache; } }