# Handling Job Errors

When getting back the job results (through polling or through a webhook), it is important to parse the response body for potential errors.

# 1. Checking for success

The Engine will always return a success boolean. If this field is true, the job has finished successfully. This however doesn't mean that all expected outputs are computed successfully (see below).

If success is false, it means a serious error occurred during processing, causing the complete job to fail. At this point, there might not be any output files available. It could be interesting to flag this to Relu, so we can investigate the issue.

# 2. Checking the status of each output file

If the overall job status is successful, you should check the status of each individual output file. Each output file has a status field, which can be one of the following:

  • Available: The file is computed successfully and available for download. You can safely download the file using the provided url (when downloading from Relu) or you can safely assume that the file is present on your servers (when providing pre-signed upload URLs).
  • Missing: The file could not be computed, because it is not present in the input data. The processing pipeline didn't encounter any issues. This can for instance occur when requesting mesh files for all teeth individually, where some teeth are missing on the patient (e.g., he doesn't have any 3rd molars). In this case, the file will not be available for download.
  • Failed: The file could not be computed. This could be due to various reasons, such as corrupted input data or unforeseen errors during the processing, causing the computation to crash.