Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Emplois chez Array
Une tâche de tableau est une tâche qui partage des paramètres communs, comme la définition de tâche les vCPU et la mémoire. Il s'exécute comme un ensemble de tâches de base connexes mais distinctes qui peuvent être distribuées sur plusieurs hôtes et peuvent être exécutées simultanément. Les tâches matricielles constituent le moyen le plus efficace d'exécuter des tâches extrêmement parallèles, telles que des simulations Monte Carlo, des balayages paramétriques ou des tâches de rendu de grande envergure.
AWS Batch les tâches matricielles sont soumises de la même manière que les tâches normales. Cependant, vous spécifiez une taille de tableau (entre 2 et 10 000) pour définir le nombre de tâches enfants devant s'exécuter dans le tableau. Si vous envoyez une tâche avec une taille de tableau 1 000, une seule tâche s'exécute et génère 1 000 tâches enfants. La tâche de tableau est une référence ou un pointeur pour gérer toutes les tâches enfants. De cette façon, vous pouvez soumettre des charges de travail importantes en une seule requête. Le délai d'attente spécifié dans attemptDurationSeconds le paramètre s'applique à chaque tâche enfantine. La tâche du tableau parent n'a pas de délai d'expiration.
Lorsque vous soumettez une tâche de tableau, la tâche de tableau parent obtient une valeur normale AWS Batch ID de poste. Chaque job pour enfants possède le même identifiant de base. Cependant, l'index du tableau pour la tâche enfant est ajouté à la fin de l'ID parent, tel que pour le premier job de la gamme. example_job_ID:0
La tâche du tableau parent peut saisir un SUBMITTED, PENDING, FAILED, ou SUCCEEDED statut. Une tâche parent de tableau est mise à jour vers PENDING quand un job pour enfants est mis à jour vers RUNNABLE. Pour plus d'informations sur les dépendances entre les tâches, voir Dépendances au travail.
Lors de l'exécution, la variable d'environnement AWS_BATCH_JOB_ARRAY_INDEX est définie sur le numéro d'index de tableau de la tâche correspondant du conteneur. L'index des tâches du premier tableau est numéroté 0, et les indices des emplois pour enfants suivants sont classés par ordre croissant (par exemple, 1, 2 et 3). Vous pouvez utiliser cette valeur d'index pour contrôler la façon dont les enfants de votre tâche de tableau sont différenciés. Pour plus d’informations, consultez Utilisez le tableau des index des tâches pour contrôler la différenciation des tâches.
Pour les dépendances de tâches de tableau, vous pouvez spécifier un type pour une dépendance, comme SEQUENTIAL ou N_TO_N. Vous pouvez spécifier un type de dépendance SEQUENTIAL (sans spécifier d'ID de tâche), afin que chaque tâche de tableau enfant se termine de façon séquentielle à partir de l'index 0. Par exemple, si vous envoyez une tâche de tableau dont la taille de tableau est 100, et que vous spécifiez une dépendance de type SEQUENTIAL, 100 tâches enfants sont générées de façon séquentielle, et la première tâche enfant doit être effectuée avant que la tâche enfant suivante ne commence. Le schéma ci-dessous montre une Tâche A, une tâche de tableau de taille 10. Chaque tâche de l'index enfant de la Tâche A dépend de la tâche enfant précédente. Poste A:1 Impossible de commencer avant le travail A:0 finitions.
Vous pouvez également spécifier une dépendance de type N_TO_N avec un ID de tâche pour les tâches de tableau. Ainsi, chaque enfant de l'index de cette tâche doive attendre que l'enfant de l'index correspondant de chaque dépendance soit terminé avant de pouvoir commencer. La figure suivante montre les tâches A et B, deux tâches matricielles d'une taille de 10 000 chacune. Chaque emploi figurant dans l'index des enfants de Job B dépend de l'indice correspondant de Job A. B:1 Impossible de commencer avant le travail A:1 finitions.
Si vous annulez ou résiliez une tâche du groupe parent, toutes les tâches enfants sont annulées ou terminées avec cette tâche. Vous pouvez annuler ou mettre fin à des emplois individuels pour enfants (ce qui les déplace vers un FAILED statut) sans affecter les emplois des autres enfants. Toutefois, si une tâche de tableau enfant échoue (seule ou en annulant ou en mettant fin manuellement à la tâche), la tâche parent échoue également. Dans ce scénario, le poste de parent passe à FAILED lorsque tous les travaux des enfants seront terminés.
Pour plus d'informations sur la recherche et le filtrage des tâches liées aux tableaux, voir Rechercher pour afficher les tâches dans une file d’attente.