Partager via


JobPreparationTask Classe

Définition

Tâche de préparation du travail à exécuter avant toutes les tâches du travail sur un nœud de calcul donné.

public class JobPreparationTask
type JobPreparationTask = class
Public Class JobPreparationTask
Héritage
JobPreparationTask

Remarques

Vous pouvez utiliser la préparation du travail pour préparer un nœud afin d’exécuter des tâches pour le travail. Les activités couramment effectuées dans la préparation du travail incluent : téléchargement des fichiers de ressources courants utilisés par toutes les tâches du travail. La tâche de préparation du travail peut télécharger ces fichiers de ressources courants à l’emplacement partagé sur le nœud. (AZ_BATCH_NODE_ROOT_DIR\shared), ou le démarrage d’un service local sur le nœud afin que toutes les tâches de ce travail puissent communiquer avec celui-ci. Si la tâche de préparation du travail échoue (autrement dit, épuise son nombre de nouvelles tentatives avant de quitter avec le code de sortie 0), Batch n’exécute pas les tâches de ce travail sur le nœud. Le nœud de calcul n’est pas éligible à l’exécution des tâches de ce travail jusqu’à ce qu’il soit réimagené. Le nœud de calcul reste actif et peut être utilisé pour d’autres travaux. La tâche de préparation du travail peut s’exécuter plusieurs fois sur le même nœud. Par conséquent, vous devez écrire la tâche de préparation du travail pour gérer la ré-exécution. Si le nœud est redémarré, la tâche de préparation du travail est réexécutée sur le nœud de calcul avant de planifier une autre tâche du travail, si réexécuterOnNodeRebootAfterSuccess est vraie ou si la tâche de préparation du travail ne s’est pas terminée précédemment. Si le nœud est réimagené, la tâche de préparation du travail est réexécutée avant de planifier une tâche du travail. Batch effectue une nouvelle tentative de tâches lorsqu’une opération de récupération est déclenchée sur un nœud. Les exemples d’opérations de récupération incluent (sans s’y limiter) lorsqu’un nœud défectueux est redémarré ou qu’un nœud de calcul a disparu en raison d’une défaillance de l’hôte. Les nouvelles tentatives dues aux opérations de récupération sont indépendantes de et ne sont pas comptabilisées dans maxTaskRetryCount. Même si maxTaskRetryCount est 0, une nouvelle tentative interne en raison d’une opération de récupération peut se produire. Pour cette raison, toutes les tâches doivent être idempotentes. Cela signifie que les tâches doivent tolérer l’interruption et le redémarrage sans provoquer d’altération ou de doublon des données. La meilleure pratique pour les tâches de longue durée consiste à utiliser une forme de point de contrôle.

Constructeurs

JobPreparationTask()

Initialise une nouvelle instance de la classe JobPreparationTask.

JobPreparationTask(String, String, TaskContainerSettings, IList<ResourceFile>, IList<EnvironmentSetting>, TaskConstraints, Nullable<Boolean>, UserIdentity, Nullable<Boolean>)

Initialise une nouvelle instance de la classe JobPreparationTask.

Propriétés

CommandLine

Obtient ou définit la ligne de commande de la tâche de préparation du travail.

Constraints

Obtient ou définit des contraintes qui s’appliquent à la tâche de préparation du travail.

ContainerSettings

Obtient ou définit les paramètres du conteneur sous lequel la tâche de préparation du travail s’exécute.

EnvironmentSettings

Obtient ou définit une liste de paramètres de variable d’environnement pour la tâche de préparation du travail.

Id

Obtient ou définit une chaîne qui identifie de manière unique la tâche de préparation du travail dans le travail.

RerunOnNodeRebootAfterSuccess

Obtient ou définit si le service Batch doit réexécuter la tâche de préparation du travail après le redémarrage d’un nœud de calcul.

ResourceFiles

Obtient ou définit une liste de fichiers que le service Batch téléchargera sur le nœud de calcul avant d’exécuter la ligne de commande.

UserIdentity

Obtient ou définit l’identité utilisateur sous laquelle la tâche de préparation du travail s’exécute.

WaitForSuccess

Obtient ou définit si le service Batch doit attendre que la tâche de préparation du travail se termine correctement avant de planifier d’autres tâches du travail sur le nœud de calcul. Une tâche de préparation du travail s’est terminée avec succès si elle se termine avec le code de sortie 0.

S’applique à