/** * 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(); } }