La creación de hebra permite que los pasos se ejecuten en paralelo, en el mismo
servidor o en servidores distintos. La creación de hebras es controlada por el valor
Hebra para cada paso. De forma predeterminada, la propiedad Hebra está establecida en
No. Crear hebras ayuda a reducir el tiempo de ejecución de los proyectos cuando hay otras
partes de un proyecto que pueden ejecutarse independientemente de otras.
Cuando la propiedad Hebra de varios pasos adyacentes está establecida en Sí,
el sistema intenta ejecutar el paso en paralelo. Tales pasos se consideran
habilitados por una hebra, y cada paso puede ejecutarse de forma independiente
mientras continua el resto del trabajo. La creación de hebras recibe estas reglas.
- Al menos dos pasos en la secuencia deben tener la propiedad Hebra establecida en
Sí para que se produzca la creación de hebras. Un conjunto de pasos enhebrados
en secuencia se denomina bloque de hebra. Los bloques de hebra
pueden seguir en pasos que forman parte de un integrado. Por ejemplo,
si un paso en un proyecto contiene un integrado y el primer paso de
este integrado también está enhebrado, los dos pasos forman parte del
mismo bloque de hebra.
Se ejecutan simultáneamente. El bloque de hebra sigue pasos
enhebrados, incluyendo pasos integrados anidados, hasta que se
encuentra un paso Unir o un paso no enhebrado. Procure evitar las
condiciones de actualización cuando utilice pasos integrados
anidados. Una condición de actualización puede deberse a un paso
enhebrado integrado dependiendo de los resultados o de los datos del
paso padre enhebrado.
- Un bloque de hebra es finalizado por un paso cuya propiedad Hebra está establecida en Unir o cuando encuentra un paso no enhebrado. En ese momento la ejecución del paso vuelve
a ser secuencial.
- Cuando el sistema encuentra un paso habilitado por una hebra intenta iniciarlo. Si el siguiente paso también está enhebrado,
el sistema intenta iniciar dicho paso y continua en el siguiente paso, repitiendo haya más
pasos habilitados por hebra o hasta que se alcance el límite del trabajo.
Si el selector del proyecto especifica una agrupación de servidores, el límite del trabajo es conceptualmente
a suma de los límites de trabajo de los servidores en la agrupación.
Nota: La hora de inicio de los pasos
enhebrados depende de la disponibilidad del servidor
en el que debe ejecutarse. Si no puede iniciarse un paso, el sistema espera
y vuelve a intentarlo. No puede controlar explícitamente qué paso
se iniciará primero.
- Los pasos pueden terminar ejecutándose simultáneamente en un servidor (dependiendo de la capacidad de dicho
servidor) o en varios servidores, dependiendo de cuántos servidores coincidan con el
selector.
- Para forzar que todos los pasos se ejecuten en un único servidor, utilice la propiedad
Adherido para el proyecto.
- Si existen varios bloques de hebra, el primer bloque deberá completarse antes de que pueda
comenzar el siguiente bloque de hebra.
En el ejemplo siguiente, los pasos 2, 3 y 4 deben finalizar antes de que puedan empezar los pasos 5 y 6.
Proyecto |
Propiedad de hebra para el paso |
Paso 1 |
No |
Paso 2 |
Sí |
Paso 3 |
Sí |
Paso 4 |
Unir |
Paso 5 |
Sí |
Paso 6 |
Sí |
Paso 7 |
No |
- Utilice la propiedad Núm. máx hebras para el proyecto para limitar
el número de hebras que pueden ejecutarse al mismo tiempo. Cada paso habilitado por hebra
y su proyecto en línea, de haberlo, puede resultar en procesos
paralelos. Se cuentan todos los procesos hasta que se alcanza el
número máximo del proyecto padre. El sistema deja de iniciar nuevos procesos en paralelo cuando se alcanza
el valor de Núm. max hebras.
Esperará hasta que el número procesos en paralelo del proyecto baje
por debajo del valor de Núm. max hebras antes de continuar.