# Task system


App Engine and its Task system are still in BETA. Therefore, all information presented in this documentation is subject to potentially breaking changes.

A Task is a time-limited process that takes static inputs and produces static outputs represented by files and directories. A Task is defined by:

  1. a docker image encapsulating the environment and procudure of the Task
  2. a descriptor file providing both general and technical information about the Task itself

In order to upload a Task on Cytomine, it must be bundled as a zip archive containing the docker image and the descriptor file. The Docker image must be saved into a tar archive before being included in the bundle.

# How to create a Task

  1. Write your Task descriptor based on the Task descriptor reference
  2. Implement your Task in such a way that the script or program running the Task can be containerized
  3. Create a Dockerfile to build the Task container image
  4. Build and save the Docker image as a tar archive
  5. Bundle the saved Docker image and the Task descriptor into a zip archive