Start
Résumé
- Nom interne :
Start - Catégorie : Contrôle de Workflow
- Objectif : Marquer le début de l'exécution d'un workflow, initialiser le contexte d'exécution (variables, timeout, politique d'exécution).
- Type de tâche : Contrôle de Workflow
Compatibilité
-
Version minimale AndroMate :
1.1.0 -
Version maximale AndroMate :
1.1.0 -
Android minimum :
Android 13 (API 33) -
Android maximum testé :
Android 16 (API 36) -
Constructeurs supportés :
- ✅ Tous les constructeurs
-
Permissions requises :
- Aucune
Description détaillée
La tâche Start est le point d'entrée obligatoire de tout workflow. Il y a toujours exactement un nœud Start par workflow, et la traversée du graphe commence à partir de lui.
Elle est utilisée pour :
- Définir les variables initiales disponibles tout au long du workflow
- Configurer le timeout global de l'exécution du workflow
- Définir la politique d'exécution — si le workflow s'arrête ou continue lorsqu'une tâche lève une exception
La tâche Start elle-même n'effectue aucune action pendant l'exécution (elle retourne immédiatement). Son rôle est purement déclaratif : elle configure le contexte d'exécution (AndroMateContext) que toutes les tâches suivantes vont partager.
Paramètres d'entrée
| Paramètre | Type | Obligatoire | Valeurs possibles | Compatibilité Android | Compatibilité AndroMate | Défaut |
|---|---|---|---|---|---|---|
Time_out |
Long | Non | Durée en millisecondes, 0 = pas de timeout |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | 0 |
exec_policy |
Integer | Non | 1 = Continuer sur erreur, 2 = Arrêter sur erreur |
Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | 1 (Continuer) |
variables |
Array | Non | Liste d'objets variable (voir ci-dessous) | Android 13 (API 33) → Android 16 (API 36) | 1.1.0 → 1.1.0 | [] |
Structure d'un objet variable
Chaque entrée du tableau variables définit une variable de workflow :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
variableName |
String | Oui | Nom de la variable — doit commencer par $ (ex. $ma_variable) |
variableValue |
String | Non | Valeur initiale de la variable |
is_kpi |
Boolean | Non | Si true, cette variable est suivie comme KPI et incluse dans le résultat du job |
Paramètres de sortie
La tâche Start ne produit aucune sortie. Elle retourne immédiatement sans valeur de résultat.
Exceptions
La tâche Start ne lève aucune exception.
Diagramme d'exécution
flowchart TD
A([▶ Début du parsing]) --> B[📋 Lire Time_out\ndéfaut : 0]
B --> C[📋 Lire exec_policy\n1=CONTINUER / 2=ARRÊTER]
C --> D[📋 Lire le tableau variables]
D --> E[🔧 Initialiser AndroMateContext\nvariables · timeout · politique]
E --> F[📌 Définir le point d'entrée\nstartId = id du nœud]
F --> G([✅ Contexte prêt\nLe workflow commence])
style A fill:#e3f2fd
style G fill:#c8e6c9
style E fill:#fff9c4
style F fill:#f3e5f5
Comment ça fonctionne :
- Lire
Time_out: Charge le timeout global du workflow en millisecondes (0= sans limite) - Lire
exec_policy: Charge la politique d'exécution —CONTINUE_ON_ERROR(défaut) ouSTOP_ON_ERROR - Lire
variables: Charge la liste des variables avec leurs valeurs initiales et leurs indicateurs KPI - Initialiser le contexte : Crée l'
AndroMateContextpartagé par toutes les tâches du workflow - Définir le point d'entrée : Enregistre l'
idde ce nœud comme point de départ de la traversée du graphe - Le workflow commence : Le moteur démarre l'exécution de la prochaine tâche connectée
Détails des paramètres
1. Paramètre : Time_out
Définit la durée maximale d'exécution autorisée pour l'ensemble du workflow, en millisecondes.
Exemple
Détails
- Une valeur de
0signifie pas de timeout — le workflow s'exécute jusqu'à atteindre un nœud END ou une erreur irrécupérable. - Si le workflow dépasse cette durée, l'exécution est interrompue.
- Recommandé pour les workflows de longue durée afin d'éviter les boucles infinies ou les tâches bloquantes.
2. Paramètre : exec_policy
Définit le comportement du moteur lorsqu'une tâche lève une exception.
| Valeur | Constante | Comportement |
|---|---|---|
1 |
CONTINUE_ON_ERROR |
Le workflow continue vers la tâche suivante même si la tâche courante a échoué. L'exception est stockée dans le contexte et peut être inspectée avec la tâche Exception ?. |
2 |
STOP_ON_ERROR |
Le workflow s'arrête immédiatement lorsqu'une tâche lève une exception. |
Exemple
Détails
- La valeur par défaut est
1(CONTINUE_ON_ERROR) lorsque le champ est absent ou défini avec une valeur inconnue. - Avec
CONTINUE_ON_ERROR, vous pouvez utiliser des nœudsException ?après les tâches critiques pour gérer explicitement les erreurs. - Avec
STOP_ON_ERROR, tout échec de tâche termine immédiatement le workflow — aucun branchement n'est nécessaire.
3. Paramètre : variables
Déclare la liste des variables disponibles pour l'ensemble du workflow. Chaque variable peut être lue ou écrite par n'importe quelle tâche.
Champs d'une variable
| Champ | Description |
|---|---|
variableName |
Nom unique commençant par $. Utilisé comme placeholder dans les paramètres des tâches (ex. $url, $resultat). |
variableValue |
Valeur initiale sous forme de chaîne. Peut être vide "". |
is_kpi |
Si true, la valeur finale de cette variable est exportée dans le rapport du job comme indicateur de performance (KPI). |
Exemple
"variables": [
{
"variableName": "$server_url",
"variableValue": "https://example.com",
"is_kpi": false
},
{
"variableName": "$ping_result",
"variableValue": "",
"is_kpi": true
}
]
Détails
- Les variables sont résolues à l'exécution — tout paramètre de tâche contenant
$nom_variableest automatiquement remplacé par la valeur courante. - Une variable non déclarée dans le nœud Start ne peut pas être utilisée dans les autres tâches.
- Les variables KPI (
is_kpi: true) sont collectées à la fin du job et envoyées au backend comme indicateurs de performance.
Exemple JSON complet
{
"Start": [
{
"id": "0",
"title": "Initialiser le Workflow",
"Time_out": 120000,
"exec_policy": 1,
"variables": [
{
"variableName": "$server_url",
"variableValue": "https://example.com/api",
"is_kpi": false
},
{
"variableName": "$http_status",
"variableValue": "",
"is_kpi": true
},
{
"variableName": "$code_erreur",
"variableValue": "",
"is_kpi": false
}
]
}
]
}