Example #1
0
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;
    }
}
Example #2
0
<?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;
    }
Example #3
0
        $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)) {
Example #4
0
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;
}
Example #5
0
}
// 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());
}