projects
/
gruntmaster-daemon.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Only update problem statuses for non-private problems
[gruntmaster-daemon.git]
/
lib
/
Gruntmaster
/
Daemon.pm
diff --git
a/lib/Gruntmaster/Daemon.pm
b/lib/Gruntmaster/Daemon.pm
index 681a141430953da05c7e2a11db3362522059c61c..6fef26d8aee3210045ae638bc16b78aabc02c319 100644
(file)
--- a/
lib/Gruntmaster/Daemon.pm
+++ b/
lib/Gruntmaster/Daemon.pm
@@
-7,8
+7,7
@@
use warnings;
our $VERSION = '5999.000_004';
use Gruntmaster::Daemon::Constants qw/ERR/;
our $VERSION = '5999.000_004';
use Gruntmaster::Daemon::Constants qw/ERR/;
-use Gruntmaster::Daemon::Format qw/prepare_files/;
-use Gruntmaster::Data;
+use Gruntmaster::Daemon::Format qw/prepare_files stopvms/;
use File::Basename qw/fileparse/;
use File::Temp qw/tempdir/;
use File::Basename qw/fileparse/;
use File::Temp qw/tempdir/;
@@
-34,13
+33,14
@@
use constant FORMAT_EXTENSION => {
##################################################
##################################################
+sub purge;
+
my $db;
sub safe_can_nodie {
my ($type, $sub, $name) = @_;
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);
my $pkg = __PACKAGE__ . "::${type}::${name}";
eval "require $pkg" or get_logger->warn("Error while requiring $pkg: $@");
$pkg->can($sub);
@@
-86,7
+86,7
@@
sub process{
prepare_files $meta;
chomp $errors;
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;
$generator = safe_can Generator => generate => $generator;
$runner = safe_can Runner => run => $runner;
@@
-121,13
+121,14
@@
sub process{
$meta->{$_} = $results{$_} for keys %results;
$meta->{results} = \@full_results
} catch {
$meta->{$_} = $results{$_} for keys %results;
$meta->{results} = \@full_results
} catch {
- s
,(.*) at .*,$1,
;
+ s
/(.*) at .*/$1/s
;
chomp;
$meta->{result} = -1;
$meta->{result_text} = $_;
};
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},
return unless $jobr;
$jobr->update({
result => $meta->{result},
@@
-142,7
+143,7
@@
sub process{
problem => $jobr->problem,
owner => $jobr->owner,
job => $jobr->id,
problem => $jobr->problem,
owner => $jobr->owner,
job => $jobr->id,
- solved => $solved});
+ solved => $solved})
if !$jobr->problem->private
;
purge '/log/';
purge "/log/$job";
purge '/log/';
purge "/log/$job";
@@
-168,6
+169,9
@@
sub got_job{
}
sub run{
}
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:');
Log::Log4perl->init('/etc/gruntmasterd/gruntmasterd-log.conf');
get_logger->info("gruntmasterd $VERSION started");
$db = Gruntmaster::Data->connect('dbi:Pg:');
Log::Log4perl->init('/etc/gruntmasterd/gruntmasterd-log.conf');
get_logger->info("gruntmasterd $VERSION started");
This page took
0.011803 seconds
and
4
git commands to generate.