* Perform builds in parallel.

[?]
Nov 11, 2008, 10:27 AM
TULPZ62YXEHXUWGBZMLCLYILEXPQS5ADPT22574BIRFU4CZMBSKAC

Dependencies

  • [2] 7YBYT2LQ
  • [3] BVOPAMLS
  • [4] X27GNHDV * Basic job info in the database.
  • [5] ELCI5T2A * Show the latest build for each job.
  • [6] M552HLIA * Support variant builds.
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • replacement in src/HydraFrontend/root/index.tt at line 8
    [3.3404][3.3404:3516]()
    <tr><th>Priority</th><th>Project</th><th>Job</th><th>System</th><th>Timestamp</th><th>Description</th></tr>
    [3.3404]
    [3.3516]
    <tr><th>#</th><th>Priority</th><th>Project</th><th>Job</th><th>System</th><th>Timestamp</th><th>Description</th></tr>
  • edit in src/HydraFrontend/root/index.tt at line 13
    [2.1665]
    [3.3579]
    <td>[% job.id %]</td>
  • edit in src/build.pl at line 9
    [2.3075]
    [2.3075]
    $db->storage->dbh->do("PRAGMA synchronous = OFF;");
  • edit in src/build.pl at line 129
    [2.6639]
    [2.6639]
  • edit in src/build.pl at line 131
    [2.6647]
    [2.6647]
    print "STOP ", time, "\n";
  • edit in src/runner.pl at line 4
    [2.7850]
    [2.7850]
    use POSIX qw(dup2);
  • edit in src/runner.pl at line 9
    [2.7966]
    [2.7966]
    $db->storage->dbh->do("PRAGMA synchronous = OFF;");
  • edit in src/runner.pl at line 26
    [2.8396][2.8396:8397]()
  • edit in src/runner.pl at line 27
    [2.8398][2.8398:8410]()
    while (1) {
  • edit in src/runner.pl at line 28
    [2.8411]
    [2.8411]
    sub checkJobs {
  • replacement in src/runner.pl at line 51
    [2.8957][2.8957:9004]()
    print "starting job ", $job->id, "\n";
    [2.8957]
    [2.9004]
    my $id = $job->id;
    print "starting job $id\n";
  • replacement in src/runner.pl at line 54
    [2.9019][2.9019:9094]()
    system("perl -I HydraFrontend/lib -w ./build.pl " . $job->id);
    [2.9019]
    [2.9094]
    my $child = fork();
    die unless defined $child;
    if ($child == 0) {
    open LOG, ">logs/$id" or die;
    POSIX::dup2(fileno(LOG), 1) or die;
    POSIX::dup2(fileno(LOG), 2) or die;
    exec("perl", "-IHydraFrontend/lib", "-w",
    "./build.pl", $id);
    warn "cannot start job " . $id;
    _exit(1);
    }
  • edit in src/runner.pl at line 75
    [2.9301]
    [2.9301]
    }
  • edit in src/runner.pl at line 78
    [2.9302]
    [2.9302]
    while (1) {
    eval {
    checkJobs;
    };
    warn $@ if $@;
  • edit in src/scheduler.pl at line 9
    [3.5761]
    [9.1424]
    $db->storage->dbh->do("PRAGMA synchronous = OFF;");
  • replacement in src/scheduler.pl at line 255
    [3.10184][3.10184:10195]()
    checkJobs;
    [3.10184]
    while (1) {
    checkJobs;
    print "sleeping...\n";
    sleep 10;
    }