X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FGruntmaster%2FDaemon.pm;h=ef24364184c6ef403ae898acee7d2cf7046c2af3;hb=f58c979a7df8f6cb6b61ba680d4d09e5b0fb41ba;hp=2af9b5306a78229d334deaa819bd2b0fd30ece26;hpb=34cc90c9aa31c1cad1fcef0684e940407426ad1d;p=gruntmaster-daemon.git diff --git a/lib/Gruntmaster/Daemon.pm b/lib/Gruntmaster/Daemon.pm index 2af9b53..ef24364 100644 --- a/lib/Gruntmaster/Daemon.pm +++ b/lib/Gruntmaster/Daemon.pm @@ -8,6 +8,7 @@ our $VERSION = '5999.000_005'; use Gruntmaster::Daemon::Constants qw/ERR/; use Gruntmaster::Daemon::Format qw/prepare_files stopvms/; +use Gruntmaster::SendResults qw/send_results_request/; use File::Slurp qw/read_file/; use File::Temp qw/tempdir/; @@ -34,6 +35,7 @@ use constant FORMAT_EXTENSION => { PERL => 'pl', PHP => 'php', PYTHON => 'py', + PYTHON3 => 'py', RUBY => 'rb', RUST => 'rs', SBCL => 'l', @@ -109,6 +111,7 @@ sub process{ $meta->{errors} = $errors; get_logger->info('Job result: ' . $meta->{result_text}); + send_results_request($meta->{job_id}, $meta->{result}, $meta->{result_text}); } sub process_job { @@ -128,8 +131,8 @@ sub process_job { my $timeout_override = db()->query('SELECT timeout FROM limits WHERE problem=? AND format=?', $job->{problem}, $job->{format})->list; $meta->{timeout} = $timeout_override if defined $timeout_override; $meta->{tests} = decode_json $pb->{tests} if $meta->{runner} eq 'File'; - $job->{contest} &&= contest_entry($job->{contest}); - delete $meta->{precnt} unless $job->{contest} && $job->{contest}{started} && !$job->{contest}{finished}; ## no critic (ProhibitNegativeExpressionsInUnlessAndUntilConditions) + my $contest = $job->{contest} && contest_entry($job->{contest}); + delete $meta->{precnt} unless $contest && $contest->{started} && !$contest->{finished}; ## no critic (ProhibitNegativeExpressionsInUnlessAndUntilConditions) $meta->{testcnt} = $meta->{precnt} if $meta->{precnt}; $meta->{files}{ver} = { @@ -137,6 +140,7 @@ sub process_job { format => $pb->{verformat}, content => $pb->{versource}, } if $pb->{verformat}; + $meta->{job_id} = $job->{id}; process $meta;