/**
  * Akce pro inicializaci mineru (vytvoření metasource) - může trvat delší dobu...
  * @param int $id - ID mineru
  * @param int $task - ID dlouhotrvající úlohy
  * @throws BadRequestException
  * @throws \Exception
  */
 public function actionInitMinerMetasource($id, $task)
 {
     $miner = $this->findMinerWithCheckAccess($id);
     $metasourceTask = $this->metasourcesFacade->findMetasourceTask($task);
     $metasourceTask = $this->metasourcesFacade->initializeMinerMetasource($miner, $metasourceTask);
     if ($metasourceTask->state == MetasourceTask::STATE_DONE) {
         //úloha již doběhla - přesměrujeme uživatele na vytvořený miner
         $this->metasourcesFacade->deleteMetasourceTask($metasourceTask);
         $this->sendJsonResponse(['redirect' => $this->link('openMiner', ['id' => $miner->minerId])]);
     } elseif ($metasourceTask->state == MetasourceTask::STATE_IN_PROGRESS) {
         //úloha je v průběhu
         $this->sendJsonResponse(['message' => $metasourceTask->getPpTask()->statusMessage, 'state' => $metasourceTask->state]);
     } else {
         throw new BadRequestException();
     }
 }
 /**
  * Akce pro inicializaci mineru (vytvoření metasource)
  * @param int $id - ID úlohy
  * @throws BadRequestException
  */
 public function actionPreprocessingTaskRun($id)
 {
     $metasourceTask = $this->metasourcesFacade->findMetasourceTask($id);
     $metasourceTask = $this->metasourcesFacade->preprocessAttributes($metasourceTask);
     switch ($metasourceTask->state) {
         case MetasourceTask::STATE_DONE:
             //úloha byla dončena => smažeme ji a necháme přenačíst UI
             $this->metasourcesFacade->deleteMetasourceTask($metasourceTask);
             $this->sendJsonResponse(['redirect' => $this->link('reloadUI')]);
             return;
         case MetasourceTask::STATE_IN_PROGRESS:
             $this->sendJsonResponse(['message' => $metasourceTask->getPpTask()->statusMessage, 'state' => $metasourceTask->state]);
             return;
         default:
             throw new BadRequestException();
     }
 }