StartTask Classe

Dans certains cas, la tâche de démarrage peut être réexécuter même si le nœud n’a pas été redémarré. Pour cette raison, les tâches de démarrage doivent être idempotentes et quitter correctement si la configuration qu’elles effectuent a déjà été effectuée. Une attention particulière doit être prise pour éviter les tâches de démarrage qui créent un processus d’interruption ou installent/lancent des services à partir du répertoire de travail de la tâche de démarrage, car cela empêchera Batch de pouvoir réexécuter la tâche de démarrage.

Héritage
azure.mgmt.batch._serialization.Model
StartTask

Constructeur

StartTask(*, command_line: str | None = None, resource_files: List[_models.ResourceFile] | None = None, environment_settings: List[_models.EnvironmentSetting] | None = None, user_identity: _models.UserIdentity | None = None, max_task_retry_count: int = 0, wait_for_success: bool | None = None, container_settings: _models.TaskContainerSettings | None = None, **kwargs: Any)

Paramètres de mot clé uniquement

Nom Description
command_line
str

La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’expansion des variables d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Obligatoire si d’autres propriétés de startTask sont spécifiées.

resource_files

Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande.

environment_settings

Liste des paramètres de variable d’environnement pour la tâche de démarrage.

user_identity

Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche.

max_task_retry_count
int

Le service Batch retente une tâche si le code de sortie de celle-ci diffère de zéro. Notez que cette valeur contrôle spécifiquement le nombre de nouvelles tentatives. Le service Batch tente la tâche une fois et peut réessayer jusqu’à cette limite. Par exemple, si le nombre maximal de nouvelles tentatives est de 3, Batch tente la tâche jusqu’à 4 fois (une tentative initiale et 3 tentatives). Si le nombre maximal de nouvelles tentatives est 0, le service Batch ne réessaye pas la tâche. Si le nombre maximal de nouvelles tentatives est -1, le service Batch retente la tâche sans limite. La valeur par défaut est 0.

wait_for_success

Si la valeur est true et que la tâche de démarrage échoue sur un nœud de calcul, le service Batch retente la tâche de démarrage jusqu’à son nombre maximal de nouvelles tentatives (maxTaskRetryCount). Si la tâche ne s’est toujours pas terminée correctement après toutes les nouvelles tentatives, le service Batch marque le nœud de calcul inutilisable et ne planifie pas les tâches. Cette condition peut être détectée via l’état du nœud et les détails de l’erreur de planification. Si la valeur est false, le service Batch n’attend pas la fin de la tâche de démarrage. Dans ce cas, d’autres tâches peuvent commencer à s’exécuter sur le nœud de calcul pendant que la tâche de démarrage est toujours en cours d’exécution ; et même si la tâche de démarrage échoue, de nouvelles tâches continueront d’être planifiées sur le nœud. La valeur par défaut est true.

container_settings

Lorsque cela est spécifié, tous les répertoires sous la AZ_BATCH_NODE_ROOT_DIR (la racine des répertoires Azure Batch sur le nœud) sont mappés dans le conteneur, toutes les variables d’environnement de tâche sont mappées dans le conteneur et la ligne de commande de la tâche est exécutée dans le conteneur.

Variables

Nom Description
command_line
str

La ligne de commande ne s’exécute pas sous un interpréteur de commandes et ne peut donc pas tirer parti des fonctionnalités de l’interpréteur de commandes telles que l’expansion des variables d’environnement. Si vous souhaitez tirer parti de ces fonctionnalités, vous devez appeler l’interpréteur de commandes dans la ligne de commande, par exemple en utilisant « cmd /c MyCommand » dans Windows ou « /bin/sh -c MyCommand » dans Linux. Obligatoire si d’autres propriétés de startTask sont spécifiées.

resource_files

Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande.

environment_settings

Liste des paramètres de variable d’environnement pour la tâche de démarrage.

user_identity

Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche.

max_task_retry_count
int

Le service Batch retente une tâche si le code de sortie de celle-ci diffère de zéro. Notez que cette valeur contrôle spécifiquement le nombre de nouvelles tentatives. Le service Batch tente la tâche une fois et peut réessayer jusqu’à cette limite. Par exemple, si le nombre maximal de nouvelles tentatives est de 3, Batch tente la tâche jusqu’à 4 fois (une tentative initiale et 3 tentatives). Si le nombre maximal de nouvelles tentatives est 0, le service Batch ne réessaye pas la tâche. Si le nombre maximal de nouvelles tentatives est -1, le service Batch retente la tâche sans limite. La valeur par défaut est 0.

wait_for_success

Si la valeur est true et que la tâche de démarrage échoue sur un nœud de calcul, le service Batch retente la tâche de démarrage jusqu’à son nombre maximal de nouvelles tentatives (maxTaskRetryCount). Si la tâche ne s’est toujours pas terminée correctement après toutes les nouvelles tentatives, le service Batch marque le nœud de calcul inutilisable et ne planifie pas les tâches. Cette condition peut être détectée via l’état du nœud et les détails de l’erreur de planification. Si la valeur est false, le service Batch n’attend pas la fin de la tâche de démarrage. Dans ce cas, d’autres tâches peuvent commencer à s’exécuter sur le nœud de calcul pendant que la tâche de démarrage est toujours en cours d’exécution ; et même si la tâche de démarrage échoue, de nouvelles tâches continueront d’être planifiées sur le nœud. La valeur par défaut est true.

container_settings

Lorsque cela est spécifié, tous les répertoires sous la AZ_BATCH_NODE_ROOT_DIR (la racine des répertoires Azure Batch sur le nœud) sont mappés dans le conteneur, toutes les variables d’environnement de tâche sont mappées dans le conteneur et la ligne de commande de la tâche est exécutée dans le conteneur.