sdk_entrepot_gpf.workflow#
Workflow(name, raw_dict)
#
Cette classe permet de décrire et de lancer un workflow.
Un workflow est une suite de création d'entités (exécution de traitement, configuration et offre) permettant de traiter puis de publier des données via la Géoplateforme.
Chaque création d'entité est représentée par la classe Action.
Attributes:
Name | Type | Description |
---|---|---|
__name |
str
|
Nom du workflow |
__raw_definition_dict |
dict
|
Définition du workflow |
La classe est instanciée à partir d'un nom et d'une représentation du workflow.
La représentation du workflow peut provenir par exemple d'un fichier JSON.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name |
str)
|
Nom du workflow |
required |
raw_dict |
dict
|
Workflow non résolu |
required |
generate(workflow_context, definition_dict, parent_action=None, behavior=None)
staticmethod
#
Génération de la bonne action selon le type indiqué dans la représentation du workflow.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
workflow_context |
str
|
nom du context du workflow |
required |
definition_dict |
Dict[str, Any]
|
dictionnaire définissant l'action |
required |
parent_action |
Optional[ActionAbstract]
|
action précédente (si étape à plusieurs action). Defaults to None. |
None
|
behavior |
Optional[str]
|
comportement à adopter si l'entité créée par l'action existe déjà sur l'entrepôt. Defaults to None. |
None
|
Returns:
Type | Description |
---|---|
ActionAbstract
|
instance permettant de lancer l'action |
get_action(step_name, number)
#
Instancie l'action de l'étape demandée.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
step_name |
str
|
nom de l'étape |
required |
number |
int
|
numéro de l'action (0 pour la première) |
required |
Returns:
Type | Description |
---|---|
ActionAbstract
|
action demandée |
get_actions(step_name)
#
Instancie les actions de l'étape demandée et en renvoie la liste.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
step_name |
str
|
nom de l'étape |
required |
Returns:
Type | Description |
---|---|
List[ActionAbstract]
|
liste des actions de l'étape |
get_all_steps()
#
Retourne la liste des différentes étapes et de leurs parents.
Returns:
Type | Description |
---|---|
List[str]
|
liste des étapes (et des parents) |
get_raw_dict()
#
Renvoie le dictionnaire de définition du workflow.
Returns:
Type | Description |
---|---|
Dict[str, Any]
|
le dictionnaire de définition du workflow |
open_workflow(workflow_path, workflow_name=None)
staticmethod
#
Instancie un Workflow en vérifiant le schéma fourni.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
workflow_path |
Path
|
chemin vers le fichier de workflow. |
required |
workflow_name |
Optional[str]
|
nom du workflow, si None, le nom du fichier est utilisé. Defaults to None. |
None
|
Returns:
Type | Description |
---|---|
Workflow
|
workflow instancié |
run_step(step_name, callback=None, ctrl_c_action=None, behavior=None, datastore=None, comments=[], tags={})
#
Lance une étape du workflow à partir de son nom. Liste les entités créées par chaque action et retourne la liste.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
step_name |
str
|
nom de l'étape |
required |
callback |
Optional[Callable[[ProcessingExecution], None]]
|
callback de suivi si création d'une exécution de traitement. |
None
|
ctrl_c_action |
Optional[Callable[[], bool]]
|
gestion du ctrl-C lors d'une exécution de traitement. |
None
|
behavior |
Optional[str]
|
comportement à adopter si une entité existe déjà sur l'entrepôt. |
None
|
datastore |
Optional[str]
|
id du datastore à utiliser. Si None, le datastore sera le premier trouvé dans l'action puis dans workflow puis dans configuration. |
None
|
comments |
Optional[List[str]]
|
liste des commentaires à rajouter à toute les actions de l'étape (les cas de doublons sont gérés). |
[]
|
tags |
Optional[Dict[str, str]]
|
dictionnaire des tags à rajouter pour toutes les actions de l'étape. Écrasé par ceux du workflow, de l'étape et de l'action si les clefs sont les mêmes. |
{}
|
Raises:
Type | Description |
---|---|
WorkflowError
|
levée si un problème apparaît pendant l'exécution du workflow |
Returns:
Type | Description |
---|---|
List[StoreEntity]
|
List[StoreEntity]: liste des entités créées |
validate()
#
Valide le workflow en s'assurant qu'il est cohérent. Retourne la liste des erreurs trouvées.
Returns:
Type | Description |
---|---|
List[str]
|
liste des erreurs trouvées |