Write the task-group implementation
Each task group are implemented in their own python file under task-groups/<task_group_name>.py
and each task-group herits from a TaskGroup class, with multiple methods to be implemented:
Context Validation method
The context_validation
method, if it exists for this task-group, is executed first.
It is passed all the entries. It can only return a boolean which will be set as the value of the task associated to context_validation in the specs.yaml file. If True is not returned, the execution will stop.
Main method
The main
method is executed first or right after the context_validation if it exists.
It should be used to do common inferences that will be used by different tasks.
Task methods
Tasks are implemented as methods, decorated using the @task
decorator. They are also passed all the entries, and are executed after the main
function, in the order they are listed in the specs.yaml
file.
Every task declared in the specs.yaml
file must be implemented.
Tasks can either return a value of the correct type, or raise a TaskConformityError
with an error message that will be provided as an "hint" to the user. All the other exceptions are considered implementation errors and will be forwarded to the user as an "error".
For now the TaskConformityError are not at all forwarded to the client, they are filtered by the CustomerAPI and replaced by a "None" task (as it is at first initialisation). This part is still no completely finished, but for now please raise a TaskConformityError when you don't want to output a value for a specific task.
Last updated