Remove purges (as they are now unnecessary)
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon.pm
index a84fc57cfeb3dff949f0eef1ac3c02cf03240b29..ed2415812c0b61537fb97ede9420789195afb74a 100644 (file)
@@ -7,7 +7,7 @@ use warnings;
 our $VERSION = '5999.000_004';
 
 use Gruntmaster::Daemon::Constants qw/ERR/;
-use Gruntmaster::Daemon::Format qw/prepare_files/;
+use Gruntmaster::Daemon::Format qw/prepare_files stopvms/;
 
 use File::Basename qw/fileparse/;
 use File::Temp qw/tempdir/;
@@ -33,15 +33,12 @@ use constant FORMAT_EXTENSION => {
 
 ##################################################
 
-sub purge;
-
 my $db;
 
 sub safe_can_nodie {
        my ($type, $sub, $name) = @_;
 
-       return unless $name =~ /^\w+$/;
-       no strict 'refs';
+       return unless $name =~ /^\w+$/s;
        my $pkg = __PACKAGE__ . "::${type}::${name}";
        eval "require $pkg" or get_logger->warn("Error while requiring $pkg: $@");
        $pkg->can($sub);
@@ -87,7 +84,7 @@ sub process{
                prepare_files $meta;
                chomp $errors;
 
-               my ($files, $generator, $runner, $judge, $testcnt) = map { $meta->{$_} or die "Required parameter missing: $_"} qw/files generator runner judge testcnt/;
+               my ($files, $generator, $runner, $judge, $testcnt) = map { $meta->{$_} or die "Required parameter missing: $_\n"} qw/files generator runner judge testcnt/;
 
                $generator = safe_can Generator => generate => $generator;
                $runner = safe_can Runner => run => $runner;
@@ -122,13 +119,14 @@ sub process{
                $meta->{$_} = $results{$_} for keys %results;
                $meta->{results} = \@full_results
        } catch {
-               s,(.*) at .*,$1,;
+               s/(.*) at .*/$1/s;
                chomp;
                $meta->{result} = -1;
                $meta->{result_text} = $_;
        };
+       stopvms;
 
-       get_logger->info("Job result: " . $meta->{result_text});
+       get_logger->info('Job result: ' . $meta->{result_text});
        return unless $jobr;
        $jobr->update({
                result => $meta->{result},
@@ -143,13 +141,7 @@ sub process{
                problem => $jobr->problem,
                owner   => $jobr->owner,
                job     => $jobr->id,
-               solved  => $solved});
-
-       purge '/log/';
-       purge "/log/$job";
-       purge '/st/' . $jobr->contest if $jobr->contest;
-       purge '/us/';
-       purge '/us/' . $jobr->owner;
+               solved  => $solved}) if !$jobr->problem->private;
 }
 
 sub got_job{
@@ -169,6 +161,7 @@ sub got_job{
 }
 
 sub run{
+       warn "No GRUNTMASTER_VM environment variable. Running without a VM is a security risk.\n"  unless $ENV{GRUNTMASTER_VM};
        require Gruntmaster::Data;
        $db = Gruntmaster::Data->connect('dbi:Pg:');
        Log::Log4perl->init('/etc/gruntmasterd/gruntmasterd-log.conf');
This page took 0.011105 seconds and 4 git commands to generate.