L'utilisation d'unités d'exécution vous permet d'exécuter des étapes en parallèle, soit sur le même serveur, soit sur des serveurs différents. Elle est contrôlée par le paramètre de propriété Unité d'exécution
défini pour une étape. Par défaut, la propriété Unité d'exécution est définie
sur Non. L'utilisation d'unités d'exécution vous permet de réduire la durée d'exécution du projet lorsque plusieurs
parties d'un projet peuvent être exécutées indépendamment les unes des autres.
Lorsque la propriété Unité d'exécution de plusieurs étapes adjacentes est définie sur Oui, le système tente d'exécuter l'étape en parallèle. De telles étapes sont
considérées comme étant activées pour amorçage et chaque étape peut être exécutée séparément
pendant que le reste du travail se poursuit. L'utilisation d'unités d'exécution obéit aux règles suivantes.
- Au moins deux étapes dans l'ordre doivent avoir leur propriété Unité d'exécution
définie sur Oui pour que l'utilisation d'unités d'exécution puisse avoir lieu. Un ensemble d'étapes
amorcées est appelé bloc d'amorces. Les blocs d'unités d'exécution peuvent se poursuivre dans des étapes faisant partie d'une chaîne. Par exemple, si une étape d'un projet contient une chaîne et que la première étape de cette chaîne est également placée dans une unité d'exécution, les deux étapes font partie du même bloc d'unités d'exécution.
Elles s'exécutent simultanément. Le bloc de chaînes suit les étapes de l'unité d'exécution, y compris
les étapes de chaîne imbriquée, jusqu'à ce qu'une étape Associer ou une étape non incluse dans une unité d'exécution soit rencontrée.
Veillez à éviter les situations de course lors de l'utilisation des étapes de chaîne imbriquée.
Une situation de course peut être provoquée par une étape d'unité d'exécution de chaîne qui dépend des résultats ou des données de l'étape parente dans l'unité d'exécution.
- Un bloc d'amorces est terminée par une étape dont la propriété Unité d'exécution
est définie sur Associer ou lorsqu'il rencontre une étape
sans unité d'exécution. A cet instant, l'exécution de l'étape
redevient séquentielle.
- Lorsque le système rencontre une étape activée pour l'amorçage, il essaie
de la démarrer. Si l'étape suivante est également amorcée, le système
tente de la démarrer et passe à l'étape suivante, jusqu'à ce qu'il n'y ait plus aucune
étape activée pour l'amorçage ou que le nombre maximal de travaux soit atteint.
Si le sélecteur d'un projet indique un pool de serveurs, le nombre maximal de travaux correspond à la somme du nombre maximal de travaux de chaque serveur figurant dans le pool.
Remarque : L'heure de début
d'étapes conçues avec des unités d'exécution dépend de la disponibilité du serveur sur lequel ces dernières doivent s'exécuter. Si une étape ne peut pas être démarrée, le système attend puis ré-essaie. Vous ne pouvez pas explicitement contrôler
quelles étapes démarrent en premier.
- Les étapes peuvent finalement être exécutées simultanément sur un serveur (en fonction de sa capacité) ou sur plusieurs serveurs, en fonction du nombre de serveurs correspondant au sélecteur.
- Pour forcer l'exécution des étapes sur un seul serveur, utilisez la propriété Collant du projet.
- S'il existe plusieurs blocs d'amorces, le premier bloc d'amorces doit
se terminer avant que le second ne puisse démarrer.
Dans l'exemple suivant, les étapes 2, 3 et 4 doivent être terminées avant que les étapes 5 et 6 ne puissent démarrer.
Projet |
Propriété Unité d'exécution pour l'étape |
Etape 1 |
Non |
Etape 2 |
Oui |
Etape 3 |
Oui |
Etape 4 |
Associer |
Etape 5 |
Oui |
Etape 6 |
Oui |
Etape 7 |
Non |
- La propriété Unités d'exécution max du projet vous permet
de restreindre le nombre d'unités d'exécution pouvant s'exécuter simultanément. Chaque
étape activée pour l'amorçage et son projet encapsulé, s'il en existe un, peuvent
donner lieu à des processus parallèles. Tous les processus sont comptés jusqu'à atteindre le nombre maximal pour le projet parent. Le système cesse de lancer de nouveaux processus parallèles
lorsqu'il atteint la valeur Unités d'exécution max.
Il attend que le nombre de processus parallèles du projet soit inférieur à la valeur Unités d'exécution max avant de poursuivre.