/**
  * Akce pro spuštění importu dat, která jsou již uložena v TEMP složce na tomto serveru
  * @param int $task
  */
 public function actionImportMiningResults($task)
 {
     //načtení příslušné úlohy
     try {
         $task = $this->tasksFacade->findTask($task);
         $miningDriver = $this->minersFacade->getTaskMiningDriver($task, $task->miner->user);
     } catch (\Exception $e) {
         //pokud nebyla nalezena příslušná úloha, není co importovat
         $this->terminate();
         return;
     }
     //import budeme provádět pouze v případě, že zatím neběží jiný import (abychom předešli konfliktům a zahlcení serveru)
     if ($task->importState == Task::IMPORT_STATE_WAITING) {
         //zakážeme ukončení načítání
         ignore_user_abort(true);
         //označíme částečný probíhající import
         $taskState = $task->getTaskState();
         $importData = $taskState->getImportData();
         if (empty($importData)) {
             $this->terminate();
         }
         $taskState->importState = Task::IMPORT_STATE_PARTIAL;
         $this->tasksFacade->updateTaskState($task, $taskState);
         //provedeme import plného PMML (klidně jen částečných výsledků) a zaktualizujeme stav úlohy
         $taskState = $miningDriver->importResultsPMML();
         $this->tasksFacade->updateTaskState($task, $taskState);
         //spustíme další dílší import
         RequestHelper::sendBackgroundGetRequest($this->getBackgroundImportLink($task));
     }
     $this->terminate();
 }
 /**
  * Akce pro import výsledků
  * @param int
  */
 public function actionReadMiningImportResults($id)
 {
     //zakážeme ukončení skriptu při zavření přenosového kanálu
     ignore_user_abort(true);
     //najdeme úlohu a mining driver
     $task = $this->findTaskWithCheckAccess($id);
     $miningDriver = $this->minersFacade->getTaskMiningDriver($task, $this->currentUser);
     //import budeme provádět pouze v případě, že zatím neběží jiný import (abychom předešli konfliktům a zahlcení serveru)
     if ($task->importState == Task::IMPORT_STATE_WAITING) {
         //označíme částečný probíhající import
         $taskState = $task->getTaskState();
         $taskState->importState = Task::IMPORT_STATE_PARTIAL;
         $this->tasksFacade->updateTaskState($task, $taskState);
         //provedeme import plného PMML (klidně jen částečných výsledků) a zaktualizujeme stav úlohy
         $taskState = $miningDriver->importResultsPMML();
         $this->tasksFacade->updateTaskState($task, $taskState);
         //spustíme další dílší import
         RequestHelper::sendBackgroundGetRequest($this->getAbsoluteLink('self', [], Link::SELF, true));
     }
     $this->sendTextResponse(time() . ' DONE ' . $this->action);
 }