public function countUngenerated() { $query = $this->createQuery(); $query->matching($query->logicalAnd($query->equals('resource', null), $query->equals('staticResource', null))); return $query->count(); }
/** * Render ungenerated thumbnails * * Loops over ungenerated thumbnails and renders them. Optional ``limit`` parameter to limit the amount of * thumbnails to be rendered to avoid memory exhaustion. * * @param integer $limit Limit the amount of thumbnails to be rendered to avoid memory exhaustion * @return void */ public function renderThumbnailsCommand($limit = null) { $thumbnailCount = $this->thumbnailRepository->countUngenerated(); $iterator = $this->thumbnailRepository->findUngeneratedIterator(); $this->output->progressStart($limit !== null && $thumbnailCount > $limit ? $limit : $thumbnailCount); $iteration = 0; foreach ($this->thumbnailRepository->iterate($iterator) as $thumbnail) { if ($thumbnail->getResource() === null) { $this->thumbnailService->refreshThumbnail($thumbnail); $this->persistenceManager->persistAll(); } $this->output->progressAdvance(1); $iteration++; if ($iteration === $limit) { break; } } }