Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $interval = $input->getOption('interval');
     $batchJobs = $this->getObsoleteBatchJobsQueryBuilder($this->prepareDateInterval($interval));
     $batchJobsIterator = new DeletionQueryResultIterator($batchJobs);
     $batchJobsIterator->setBufferSize(self::FLUSH_BATCH_SIZE);
     $batchJobsIterator->setHydrationMode(AbstractQuery::HYDRATE_SCALAR);
     if (!count($batchJobsIterator)) {
         $output->writeln('<info>There are no jobs eligible for clean up</info>');
         return;
     }
     $output->writeln(sprintf('<comment>Batch jobs will be deleted:</comment> %d', count($batchJobsIterator)));
     $this->deleteRecords($batchJobsIterator, 'AkeneoBatchBundle:JobExecution');
     $jobExecutions = $this->getObsoleteJobInstancesQueryBuilder();
     $jobInstanceIterator = new DeletionQueryResultIterator($jobExecutions);
     $jobInstanceIterator->setBufferSize(self::FLUSH_BATCH_SIZE);
     $jobInstanceIterator->setHydrationMode(AbstractQuery::HYDRATE_SCALAR);
     $this->deleteRecords($jobInstanceIterator, 'AkeneoBatchBundle:JobInstance');
     $output->writeln('<info>Batch job history cleanup complete</info>');
 }