X-Git-Url: http://git.ieval.ro/?p=gruntmaster-daemon.git;a=blobdiff_plain;f=lib%2FGruntmaster%2FDaemon.pm;h=ebab95cd5db8aa27dfc1c1996d50012d78fbc45d;hp=f0e66f25c4d7e569ee665278168b6879880abd64;hb=fee71502a5604c96691fd82bfc5e1b5fb55ff393;hpb=5c5cd38ad5b9e3c2b331564bc0b23e9167b7d07a diff --git a/lib/Gruntmaster/Daemon.pm b/lib/Gruntmaster/Daemon.pm index f0e66f2..ebab95c 100644 --- a/lib/Gruntmaster/Daemon.pm +++ b/lib/Gruntmaster/Daemon.pm @@ -118,23 +118,23 @@ sub process{ # Clean up get_logger->info("Job result: " . $meta->{result_text}); delete $meta->{files}{$_}{run} for keys $meta->{files}; - $meta->{date} = time; $meta->{results} = \@full_results if scalar @full_results; DumpFile "meta.yml", $meta; for (<*>) { - unlink $_ unless $_ eq 'in' || $_ eq 'meta.yml'; + unlink $_ unless $_ eq 'in' || $_ eq 'meta.yml' || ($_ eq 'compile-error' && -s); } chdir '../..'; - mkdir 'log' unless -d 'log'; - IO::File->new('>log/meta.yml')->close unless -f 'log/meta.yml'; - flock my $logmetafh = IO::File->new('{contest} ? "ct/$meta->{contest}/log" : 'log'; + mkdir $log unless -d $log; + IO::File->new(">$log/meta.yml")->close unless -f "$log/meta.yml"; + flock my $logmetafh = IO::File->new("<$log/meta.yml"), LOCK_EX; + my $logmeta = LoadFile "$log/meta.yml"; $logmeta->{last}++; - rename $dir, 'log/' . $logmeta->{last}; - generate 'log/' . $logmeta->{last} . '/index.htm'; - DumpFile 'log/meta.yml', $logmeta; + rename $dir, "$log/$logmeta->{last}"; + generate "$log/$logmeta->{last}/index.html"; + DumpFile "$log/meta.yml", $logmeta; undef $logmetafh; - generate 'log/index.html' + generate "$log/index.html" } sub run{