I have set up a cron job in a custom module in which reads from a XML file, search the product by Sku and then update prices. The problem is that even when i catch the exception of `Magento\Catalog\Model\ProductRepository::get` which is `Magento\Framework\Exception\NoSuchEntityException` in my module's try/catch block, when the cronjob runs automatically it throws the error and stops the cronjob For example, if i stop the crontab jobs of Magento and manually run a `php bin/magento cron:run` the code just works. Function code is: public function processXML($xmlPath){ $xml = $this->xmlParser; $coreRootPath = $this->directoryList->getRoot(); $xml->load($coreRootPath.'/'.$xmlPath); $elements = $xml->xmlToArray(); $this->logger->info('Total: '.count($elements['PRODUCTOS']['items']['PRODUCTO'])); $currencyConverter = $this->currencyFactory->create(); $currencyConverter->load(self::CURRENCY_FROM); $productRepository = $this->productRepo; foreach($elements['PRODUCTOS']['items']['PRODUCTO'] as $product){ $sku = $product['CODI']; $qty = $product['UNIDS']; $price = $product['WPVP']; $pvenPrice = $product['PVEN']; $this->logger->info('$sku: '.$sku); //WPVP $convertedPricePounds = $currencyConverter->convert($price, self::CURRENCY_TO); $newPricePounds = round(($convertedPricePounds + 5 / 2) / 5) * 5; //PVEN $convertedPricePoundsPVEN = $currencyConverter->convert($pvenPrice, self::CURRENCY_TO); $newPricePoundsPVEN = round(($convertedPricePoundsPVEN + 5 / 2) / 5) * 5; try{ $product = $productRepository->get($sku); if(is_object($product)){ $stockData = ['qty' => $qty, 'is_in_stock' => 1]; $product->setStockData($stockData); $resourceModelProduct = $this->resourceModelProduct->load($product, $product->getId()); //EUR EN $this->logger->info('----- EN -----'); $this->logger->info('$price: '.$price); $this->logger->info('$pvenPrice: '.$pvenPrice); $product->setStoreId(self::EUR_EN_STORE_ID); $product->setPrice($price); $product->setPvenPrice($pvenPrice); $resourceModelProduct->saveAttribute($product, 'price'); $resourceModelProduct->saveAttribute($product, 'pven_price'); //EUR ES $this->logger->info('----- ES -----'); $this->logger->info('$price: '.$price); $this->logger->info('$pvenPrice: '.$pvenPrice); $product->setStoreId(self::EUR_ES_STORE_ID); $product->setPrice($price); $product->setPvenPrice($pvenPrice); $resourceModelProduct->saveAttribute($product, 'price'); $resourceModelProduct->saveAttribute($product, 'pven_price'); //GBP EN $this->logger->info('----- GB -----'); $this->logger->info('$newPricePounds: '.$newPricePounds); $this->logger->info('$newPricePoundsPVEN: '.$newPricePoundsPVEN); $product->setStoreId(self::GBP_EN_STORE_ID); $product->setPrice($newPricePounds); $product->setPvenPrice($newPricePoundsPVEN); $resourceModelProduct->saveAttribute($product, 'price'); $resourceModelProduct->saveAttribute($product, 'pven_price'); $productRepository->save($product); } }catch(\Magento\Framework\Exception\NoSuchEntityException $e){ $this->logger->info('SKU no existe: '.$sku); } } } In the `cron_schedule` table shows this: `{{{El producto solicitado no existe}}{{El producto solicitado no existe}}{{Requested product doesn't exist}}{{theme}}}`