Необходимо очистить кэш и переиндексировать продукт по идентификаторам
У меня есть массив с 500 идентификаторами продуктов, мне нужно переиндексировать эти продукты и очистить их кэш. Я не хочу переиндексировать все, потому что у меня более 100 000 продуктов в БД, то же самое для кэша.
Знаете ли вы, как лучше всего сделать это быстро?
Я в Magento 2.1.10.
Спасибо!:)
1
1 answers
Я выполнил функцию для индексации продукта:
public function reindexByProductsIds($productIds, $indexLists)
{
foreach($indexLists as $indexList) {
$categoryIndexer = $this->indexerRegistry->get($indexList);
if (!$categoryIndexer->isScheduled()) {
$categoryIndexer->reindexList(array_unique($productIds));
}
}
}
Где $INDEXLISTS - это массив, подобный ['catalog_product_attribute']
И для кэша я использовал: $this->cacheManager->clean($idsToCacheClean);
, где $this->cacheManager
- это Magento\Framework\App\CacheInterface
1
Author: Vinz, 2017-11-23 09:14:58