Start Sub Task
Résumé
- Nom interne :
StartSubTask - Catégorie : Contrôle de Workflow
- Objectif : Marquer le point d'entrée d'un sous-workflow imbriqué, intégré sous la clé
"do"d'une tâche connecteur. - 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 :
- Samsung (One UI 6.x / 7.x / 8.x)
- Autres constructeurs - pas encore supportés (Xiaomi HyperOS et Google Pixel en cours d'adaptation)
-
Permissions requises :
- Aucune
Description détaillée
La tâche Start Sub Task est le point d'entrée obligatoire d'un sous-workflow imbriqué - l'objet "do" intégré dans une tâche connecteur comme Iterate ou ForEachElement. C'est l'équivalent du Start du workflow externe, mais limité à ce seul bloc "do".
Elle n'est pas interchangeable avec Start :
Start |
StartSubTask |
|
|---|---|---|
| Utilisé dans | Le workflow externe, exactement une fois | Chaque sous-workflow "do", exactement une fois |
Déclare des variables |
Oui | Non - le sous-workflow lit/écrit le même contexte partagé que le workflow externe |
Configure Time_out / exec_policy |
Oui | Non - ces réglages s'appliquent uniquement à l'exécution globale, définis une seule fois au sommet |
| Paramètres | Time_out, exec_policy, variables |
Aucun - seulement un "id" |
Comme Start, cette tâche n'effectue aucune action pendant l'exécution (elle retourne immédiatement) - c'est purement un marqueur indiquant au moteur où commencer à parcourir le graphe de ce sous-workflow.
Paramètres d'entrée
Cette tâche n'a aucun paramètre d'entrée au-delà de l'"id" requis par tout nœud.
Paramètres de sortie
Cette tâche ne produit aucune variable de sortie. Elle retourne VoidResult.
Exceptions
La tâche Start Sub Task ne lève aucune exception.
Diagramme d'exécution
flowchart TD
Connector([Tâche connecteur, ex. Iterate]) --> Sub([StartSubTask\npoint d'entrée du sous-workflow])
Sub --> Body[Corps du sous-workflow]
Body --> End([End propre au do])
End --> Continue([La tâche connecteur continue\nvers son lien externe 'to'])
style Connector fill:#e3f2fd
style Sub fill:#f3e5f5
style Continue fill:#c8e6c9
Comment ça fonctionne :
- Une tâche connecteur (
Iterate,ForEachElement) commence à exécuter son sous-workflow"do". - Le moteur recherche le nœud de type
StartSubTaskà l'intérieur de cet objet"do"et commence la traversée à partir de lui. StartSubTaskn'exécute aucune logique - le moteur passe immédiatement au nœud vers lequel pointent ses propresLinks(limités au scope de"do").- La traversée continue au sein des
Links/Endpropres au sous-workflow, indépendamment du graphe externe, jusqu'à atteindre le propreEnddu sous-workflow. - Une fois ce passage terminé, le contrôle revient à la tâche connecteur, qui répète le sous-workflow (selon sa propre règle de bouclage) ou continue vers le lien
"to"du graphe externe.
Exemple JSON complet
{
"Start": [
{ "id": "1000", "variables": [{ "variableName": "$i", "variableValue": "0", "is_kpi": false }] }
],
"Iterate": [
{
"id": "1001",
"iteration_variable_input": "$i",
"start_index": 1,
"end_index": 3,
"do": {
"StartSubTask": [{ "id": "10001" }],
"TextReport": [{ "id": "10002", "texte": "i = $i", "texte_type": 0 }],
"End": [{ "id": "10003" }],
"Links": [
{ "from": "10001", "to": "10002" },
{ "from": "10002", "to": "10003" }
]
}
}
],
"End": [{ "id": "1002" }],
"Links": [
{ "from": "1000", "to": "1001" },
{ "from": "1001", "to": "1002" }
]
}