Get rid of safe_can_nodie
[gruntmaster-daemon.git] / lib / Gruntmaster / Daemon.pm
index 6fef26d8aee3210045ae638bc16b78aabc02c319..4f3360ca420df63f90cb4863e63ef9700c7c5ca6 100644 (file)
@@ -33,23 +33,15 @@ use constant FORMAT_EXTENSION => {
 
 ##################################################
 
-sub purge;
-
 my $db;
 
-sub safe_can_nodie {
+sub safe_can {
        my ($type, $sub, $name) = @_;
 
        return unless $name =~ /^\w+$/s;
        my $pkg = __PACKAGE__ . "::${type}::${name}";
        eval "require $pkg" or get_logger->warn("Error while requiring $pkg: $@");
-       $pkg->can($sub);
-}
-
-sub safe_can {
-       my ($type, $sub, $name) = @_;
-
-       safe_can_nodie @_ or get_logger->logdie("No such \l$type: '$name'");
+       $pkg->can($sub) or get_logger->logdie("No such \l$type: '$name'");
 }
 
 sub process{
@@ -143,13 +135,7 @@ sub process{
                problem => $jobr->problem,
                owner   => $jobr->owner,
                job     => $jobr->id,
-               solved  => $solved}) if !$jobr->problem->private;
-
-       purge '/log/';
-       purge "/log/$job";
-       purge '/st/' . $jobr->contest if $jobr->contest;
-       purge '/us/';
-       purge '/us/' . $jobr->owner;
+               solved  => $solved}) if !$jobr->problem->is_private;
 }
 
 sub got_job{
@@ -169,13 +155,13 @@ 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;
-       Gruntmaster::Data->import;
-       $db = Gruntmaster::Data->connect('dbi:Pg:');
+       $db = Gruntmaster::Data->connect($ENV{GRUNTMASTER_DSN} // 'dbi:Pg:');
        Log::Log4perl->init('/etc/gruntmasterd/gruntmasterd-log.conf');
        get_logger->info("gruntmasterd $VERSION started");
-       chdir tempdir 'gruntmasterd.XXXX', CLEANUP => 1, TMPDIR => 1;
+       my $dir = tempdir 'gruntmasterd.XXXX', CLEANUP => 1, TMPDIR => 1;
+       chmod 0711, $dir;
+       chdir $dir;
        while (1) {
                my $job = $db->jobs->search({daemon => undef}, {rows => 1})->first;
                got_job $job if defined $job;
This page took 0.009847 seconds and 4 git commands to generate.