require_once "lib/DB/TaskQueue.php"; require_once "lib/DB/QueuedTask.php"; require_once "lib/Slack.php"; init_database(); if ($unit = GET_int("unit")) { $queue = new TaskQueue($unit); if ($queue->has_active_task()) { Slack::log("requesting new task, while old task is still running!"); $task = $queue->get_active_task(); $task->reportError("Requested new task, while this task was still running."); } if (!$queue->has_queued_tasks()) { if (!RetriggerController::fillQueue($unit)) { die("No tasks to schedule"); } } $task = $queue->get_oldest_available_queued_task(); if (!$task) { echo json_encode(array("task" => "sleep 60", "id" => 0)); die; } $task->setStarted(); echo json_encode(array("task" => $task->task(), "id" => $task->id)); die; } else { if ($task_id = GET_int("finish")) { $task = new QueuedTask($task_id); $task->setFinished(); die; } }
<?php /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ require_once "internals.php"; require_once "regressions/data-func.php"; init_database(); $subtest = GET_bool("subtest"); $id = GET_int("id"); if ($subtest) { $score_id = get("score", $id, "score_id"); $prev_breakdown_id = imm_prev_suite_test($id); $prev_score_id = get("breakdown", $prev_breakdown_id, "score_id"); $prev_build_id = get("score", $prev_score_id, "build_id"); $query = mysql_query("SELECT awfy_regression.id, noise, status\n FROM `awfy_regression_breakdown`\n LEFT JOIN awfy_regression\n ON awfy_regression.id = awfy_regression_breakdown.regression_id\n WHERE breakdown_id = " . $id . " AND\n prev_build_id = " . $prev_build_id); } else { $score_id = $id; $prev_score_id = imm_prev_($id); $prev_build_id = get("score", $prev_score_id, "build_id"); $query = mysql_query("SELECT awfy_regression.id, noise, status\n FROM `awfy_regression_score`\n LEFT JOIN awfy_regression\n ON awfy_regression.id = awfy_regression_score.regression_id\n WHERE score_id = " . $id . " AND\n prev_build_id = " . $prev_build_id); } $data = array("regression" => array()); if (mysql_num_rows($query) >= 1) { $result = mysql_fetch_object($query); $data["regression"]["id"] = $result->id; if ($result->noise) { $data["regression"]["status"] = "noise"; } else { $data["regression"]["status"] = $result->status; }
$reference = time(); } $etime = $reference - $ptime; if ($etime < 1) { return '0 seconds'; } $interval = array(12 * 30 * 24 * 60 * 60 => 'year', 30 * 24 * 60 * 60 => 'month', 24 * 60 * 60 => 'day', 60 * 60 => 'hour', 60 => 'minute', 1 => 'second'); foreach ($interval as $secs => $str) { $d = $etime / $secs; if ($d >= 1) { $r = round($d); return $r . ' ' . $str . ($r > 1 ? 's' : ''); } } } if ($task_id = GET_int("start")) { $task = QueuedTask::FromId($task_id); if ($task && $task->finish_time() == 0) { $task->set_available_time(0); } } echo "<table width='100%'>"; echo "<thead>"; echo "<th>Control unit id</th>"; echo "<th>Machine and mode"; echo "<th>Status"; echo "<th>Queue"; echo "<th>Last finished task"; echo "</thead>"; $qUnits = mysql_query("SELECT * FROM control_unit"); while ($unit = mysql_fetch_object($qUnits)) {
function GET_run_id($name) { $runid = GET_int($name); $results = mysql_query("SELECT id from awfy_run WHERE id = {$runid} AND status = 0"); if (!$results || mysql_num_rows($results) < 1) { return 0; } return $runid; }
} // Report that a slave is still awake when there are no benchmarks results // to send. if (GET_string('awake') == 'yes') { $MACHINE = GET_int('MACHINE'); mysql_query("UPDATE awfy_machine\n SET last_checked = UNIX_TIMESTAMP()\n WHERE id = {$MACHINE}") or die("ERROR: " . mysql_error()); die; } // Report score of a benchmark total or subtest. $run_id = GET_int('run'); $run = new Run($run_id); if ($run->isFinished() || $run->hasError()) { throw new Error("Run was already finished or error'ed"); } $time = mysql_real_escape_string(GET_string('time')); $mode_id = find_mode(GET_string('mode')); $version = GET_string('suite'); $score = GET_int('score'); $build = find_build($run_id, $mode_id); if (isset($_GET['version'])) { $version = GET_string('version'); } $suite_version_id = find_or_add_suite_version(GET_string('suite'), $version); if (GET_string('name') == '__total__') { $extra_info = htmlspecialchars(GET_string('extra_info'), ENT_QUOTES); mysql_query("INSERT INTO awfy_score\n (build_id, suite_version_id, score, extra_info)\n VALUES\n ({$build}, {$suite_version_id}, {$time}, '{$extra_info}')") or die("ERROR: " . mysql_error()); print "id=" . mysql_insert_id(); } else { $test_id = find_or_add_test($suite_version_id, GET_string('name')); mysql_query("INSERT INTO awfy_breakdown\n (score_id, suite_test_id, score)\n VALUES\n ({$score}, {$test_id}, {$time})") or die("ERROR: " . mysql_error()); }