/**
  * Convert audio file to flac format (with use rabbitMQ server)
  * @param InputInterface $input
  * @param OutputInterface $output
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $fs = new Filesystem();
     $filePath = $input->getArgument('filePath');
     if ($fs->exists($filePath)) {
         $mimes = ['audio/mpeg', 'audio/mp4', 'audio/vnd.wav'];
         $fileMime = mime_content_type($filePath);
         if (in_array($fileMime, $mimes)) {
             $job = new Job();
             $job->setPath($filePath);
             $job->setMime($fileMime);
             $job->setLastUpdate();
             $job->setStatus(0);
             $em = $this->getContainer()->get('doctrine')->getManager();
             $em->persist($job);
             $em->flush();
             $producer = $this->getContainer()->get('old_sound_rabbit_mq.test_producer');
             $producer->publish(serialize(array('session' => $job->getId())));
             $message = 'Your file has been sent to the processing! Session id: ' . $job->getId();
         } else {
             $message = 'Your selected file is not supported!';
         }
     } else {
         $message = 'File not found!!!';
     }
     $output->writeln($message);
 }
 /**
  * set status for session
  * @param Job $job
  * @param integer $status
  */
 private function setStatus(Job $job, $status)
 {
     $job->setStatus($status);
     $job->setLastUpdate();
     $em = $this->container;
     $em->persist($job);
     $em->flush();
 }