+ stopvms;
+ $meta->{errors} = $errors;
+
+ get_logger->info('Job result: ' . $meta->{result_text});
+}
+
+sub process_job {
+ my ($job) = @_;
+ my $meta = {
+ problem => $job->problem->id,
+ files => {
+ prog => {
+ name => 'prog.' . $job->extension,
+ format => $job->format,
+ content => $job->source,
+ },
+ },
+ map { $_ => $job->problem->get_column($_) } qw/generator runner judge precnt testcnt timeout olimit/
+ };
+ $meta->{tests} = decode_json $job->problem->tests if $meta->{runner} eq 'File';
+ delete $meta->{precnt} unless $job->contest;
+ $meta->{testcnt} = $meta->{precnt} if $meta->{precnt};
+
+ $meta->{files}{ver} = {
+ name => 'ver.' . FORMAT_EXTENSION->{$job->problem->verformat},
+ format => $job->problem->verformat,
+ content => $job->problem->versource,
+ } if $job->problem->verformat;
+
+ process $meta;