- $job->update({
- result => $meta->{result},
- result_text => $meta->{result_text},
- ($meta->{results} ? (results => encode_json $meta->{results}) : ()),
- $meta->{errors} ? (errors => $meta->{errors}) : ()
- });
-
- my $solved = $meta->{result} ? 0 : 1;
- my $status = $db->problem_statuses->find($job->owner, $job->problem);
- $db->problem_statuses->update_or_create({
- problem => $job->problem,
- owner => $job->owner,
- job => $job->id,
- solved => $solved}) if !$job->problem->private;
+ finish_job($job, $job->{private} || $pb->{private},
+ result => $meta->{result},
+ result_text => $meta->{result_text},
+ ($meta->{results} ? (results => encode_json $meta->{results}) : ()),
+ $meta->{errors} ? (errors => $meta->{errors}) : ());