public static function recordExecute($info) { $newCase = $info; unset($newCase['record_id']); $record_meta = new MDL_Record_Meta($info['record_id']); if ($record_meta->getVar('status') == self::STATUS_STOPPED) { return; } if (isset($record_meta->result)) { $result = $record_meta->result; $result = BFL_XML::XML2Array($result); } else { $result = array(); } if (isset($result['execute']['case'])) { if (!isset($result['execute']['case'][0])) { $result['execute']['case'] = array($result['execute']['case']); } $result['execute']['case'][] = $newCase; } else { $result['execute']['case'] = $newCase; } $result = BFL_XML::Array2XML($result); $record_meta->setVar('result', $result); $record_meta->setVar('result_text', $info['case_id']); $record_meta->setVar('status', self::STATUS_RUNNING); }
public static function getTask() { //find records whose record_judger_id = 0 $db = BFL_Database::getInstance(); $stmt = $db->factory('select `record_id`,`record_prob_id` from ' . DB_TABLE_RECORD . ' where `record_judger_id` = 0 order by `record_id` asc'); $stmt->execute(); $task = $stmt->fetch(); if (!$task) { return array(); } $record_meta = new MDL_Record_Meta($task['record_id']); $task['language'] = $record_meta->getVar('lang'); $task['source'] = $record_meta->getVar('source'); $submit_time = $record_meta->getVar('submit_time'); $task['task_name'] = 'vkm_' . $task['record_id']; $prob_names = MDL_Problem_Show::getProblemName($task['record_prob_id']); $task['prob_name'] = $prob_names['prob_name']; unset($task['record_prob_id']); return $task; }