Я создал пользовательский модуль, который через равные промежутки времени создает файл XML с данными выбранного продукта. Процесс, генерирующий XML, также можно запустить из Magento CLI с помощью пользовательской команды.
Несмотря на то, что пользовательская команда создает канал, cron, похоже, не получает никаких продуктов. В обоих случаях вызывается помощник, который фактически получает продукты и записывает файл XML. Вот код, который получает продукты:
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
try{
$appState = $objectManager->get('Magento\Framework\App\State');
$appState->setAreaCode(\Magento\Framework\App\Area::AREA_ADMINHTML);
} finally {
//
}
$this->collection = $objectManager->create('Magento\Catalog\Model\ResourceModel\Product\Collection');
$this->collection->addAttributeToFilter('status', 1); //enabled
$this->collection->addAttributeToFilter('visibility', 4); //catalog, search
if( !$this->show_outofstock ) {
$this->stockFilter->addInStockFilterToCollection($this->collection);
}
$this->collection->addWebsiteFilter(1);
$this->collection->load();
$this->iterator->walk( $this->collection->getSelect(), array(array($this, 'productCallback')) );
В файле журнала cron я вижу, что задание запущено (поскольку файл создается), но в нем нет продуктов ...
Кто-нибудь может указать мне правильное направление с этим ???