public function runCrons()
{
$this->entityManager->beginTransaction();
$repository = $this->entityManager->getRepository('PartKeeprCronLoggerBundle:CronLogger');
$cronJobs = $repository->findAll();
$application = new Application($this->kernel);
$application->setAutoExit(false);
$output = new NullOutput();
$minRunDate = new \DateTime();
$minRunDate->sub(new \DateInterval('PT6H'));
foreach ($cronJobs as $cronJob) {
if ($minRunDate->getTimestamp() - $cronJob->getLastRunDate()->getTimestamp() < 0) {
break;
}
$command = $cronJob->getCronjob();
$input = new ArrayInput(['command' => $command]);
$application->run($input, $output);
}
$this->entityManager->commit();
}