Unlink fifo1 & fifo2 after each test
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon.pm
index 4712ed05e7559d54a329f157a98358e54d54bd44..7fef7f68dd6334508d1fe09732aa61c4557b4a08 100644 (file)
@@ -20,6 +20,15 @@ use Log::Log4perl qw/get_logger/;
 use LWP::UserAgent;
 
 use constant PAGE_SIZE => 10;
+use constant FORMAT_EXTENSION => {
+       C => 'c',
+       CPP => 'cpp',
+       MONO => 'cs',
+       JAVA => 'java',
+       PASCAL => 'pas',
+       PERL => 'pl',
+       PYTHON => 'py',
+};
 
 ##################################################
 
@@ -44,6 +53,7 @@ sub safe_can {
 }
 
 sub purge {
+       get_logger->trace("Purging $_[0]");
        for my $host (@purge_hosts) {
                my $req = HTTP::Request->new(PURGE => "http://$host$_[0]");
                $ua->request($req)
@@ -71,8 +81,8 @@ sub process{
                };
                $meta->{tests} = decode_json $jobr->problem->tests if $meta->{runner} eq 'File';
 
-               $meta->{ver} = {
-                       name => 'ver.cpp',
+               $meta->{files}{ver} = {
+                       name => 'ver.' . FORMAT_EXTENSION->{$jobr->problem->verformat},
                        format => $jobr->problem->verformat,
                        content => $jobr->problem->versource,
                } if $jobr->problem->verformat;
@@ -128,8 +138,8 @@ sub process{
                $errors ? (errors => $errors) : ()
        });
 
-       my $log = $jobr->contest ? 'ct/' . $jobr->contest . '/log' : 'log';
-       my $page = ($job + PAGE_SIZE - 1) / PAGE_SIZE;
+       my $log = $jobr->contest ? 'ct/' . $jobr->contest->id . '/log' : 'log';
+       my $page = int (($job + PAGE_SIZE - 1) / PAGE_SIZE);
 
        purge "/$log/$job";
        purge "/$log/";
This page took 0.010778 seconds and 4 git commands to generate.