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 spécifié dans le attemptDurationSeconds paramètre s'applique à chaque tâche enfant. 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 reçoit un ID de AWS Batch tâche normal. 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, par exemple pour la première tâche enfant du tableau. example_job_ID:0
La tâche du tableau parent peut entrer un SUCCEEDED statut SUBMITTED PENDINGFAILED,, ou. Une tâche parent de tableau est mise à jour chaque PENDING fois qu'une tâche enfant est mise à jourRUNNABLE. Pour plus d'informations sur les dépendances entre les tâches, consultezDé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 tentatives suivantes sont classées 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 de plus amples informations, veuillez consulter 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. Le travail ne A:1 peut pas commencer tant que le travail n'est pas A:0 terminé.
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 dans le Job A. Le travail ne B:1 peut pas commencer tant que le travail n'est pas A:1 terminé.
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 leur donne un FAILED statut) sans affecter les autres emplois pour 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 travail des parents passe au moment FAILED où tous les emplois des enfants sont terminés.
Pour plus d'informations sur la recherche et le filtrage des tâches liées aux tableaux, consultezRechercher pour afficher les tâches dans une file d’attente.