/**
  * Funkce pro definování úlohy na základě dat z EasyMineru
  * @return TaskState
  */
 public function startMining()
 {
     $pmmlSerializer = $this->xmlSerializersFactory->createGuhaPmmlSerializer($this->task);
     $taskSettingsSerializer = new TaskSettingsSerializer($pmmlSerializer->getPmml());
     $pmml = $taskSettingsSerializer->settingsFromJson($this->task->taskSettingsJson);
     //import úlohy a spuštění dolování...
     $numRequests = 1;
     sendRequest:
     $result = $this->queryPost($pmml, array('template' => self::PMML_LM_TEMPLATE));
     $ok = strpos($result, 'kbierror') === false && !preg_match('/status=\\"failure\\"/', $result);
     if (++$numRequests < self::MAX_MINING_REQUESTS && !$ok) {
         sleep(self::REQUEST_DELAY);
         goto sendRequest;
     }
     $taskState = $this->parseTaskState($result);
     if ($taskState->rulesCount > 0) {
         try {
             $this->parseRulesPMML($result);
         } catch (\Exception $e) {
         }
     }
     return $taskState;
 }
 /**
  * Funkce pro připojení informací o nastavení úlohy
  */
 public function appendTaskSettings()
 {
     $taskSettingsSerializer = new TaskSettingsSerializer($this->pmml, $this->miner->type);
     $this->pmml = $taskSettingsSerializer->settingsFromJson($this->task->taskSettingsJson);
 }