![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-inventory-indexer/Indexer/SourceItem/Strategy/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\InventoryIndexer\Indexer\SourceItem\Strategy; use Magento\Framework\MessageQueue\PublisherInterface; use Magento\InventoryIndexer\Indexer\Stock\StockIndexer; /** * Reindex source items asynchronously. */ class Async { /** * Queue topic name. */ private const TOPIC_SOURCE_ITEMS_INDEX = "inventory.indexer.sourceItem"; /** * @var StockIndexer */ private $stockIndexer; /** * @var PublisherInterface */ private $publisher; /** * @param PublisherInterface $publisher * @param StockIndexer $stockIndexer */ public function __construct( PublisherInterface $publisher, StockIndexer $stockIndexer ) { $this->publisher = $publisher; $this->stockIndexer = $stockIndexer; } /** * Schedule full stock reindex. * * @return void */ public function executeFull() : void { $this->stockIndexer->executeFull(); } /** * Schedule reindex of one item by id. * * @param int $sourceItemId * @return void */ public function executeRow(int $sourceItemId) : void { $this->executeList([$sourceItemId]); } /** * Schedule reindex of source items list * * @param int[] $sourceItemIds * @return void */ public function executeList(array $sourceItemIds) : void { $sourceItemIds = array_map('intval', $sourceItemIds); $this->publisher->publish(self::TOPIC_SOURCE_ITEMS_INDEX, $sourceItemIds); } }