/**
  * Run all the jobs for a particular date and type
  * @param $date
  * @param $type
  */
 public function runByDate(\DateTime $date, $type)
 {
     $logger = $this->getLogger();
     $esScheduler = $this->container->get('es_scheduler');
     $indexer = $this->container->get('es_indexer');
     $dt = $date->format('Y-m-d');
     $logger->info("RUNNER: runByDate called with parameters date {$dt} & type {$type}");
     // Retrieve all jobs for this date and type
     $results = $esScheduler->findJobsByDateAndType($date->format('Y-m-d'), $type);
     $totalJobs = $results['hits']['total'];
     $logger->info("RUNNER: {$totalJobs} jobs found");
     $statuses = array();
     // Array of status of all jobs
     foreach ($results['hits']['hits'] as $result) {
         $job = ESJob::getObjFromArray($result);
         $status = $this->run($job);
         $statuses[$job->getId()] = $status;
         // Create a log item
         $jl = ESJobLog::getJobLog($job, $status);
         $indexer->index($jl);
         $esScheduler->delete($job->getId());
         unset($jl);
         // clear memory
         unset($job);
         // clear memory
     }
     return array('total' => $totalJobs, 'statuses' => $statuses);
 }