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