BatchJobReleaseTask interface
Tâche de mise en production du travail à exécuter sur n’importe quel nœud de calcul sur lequel le travail est exécuté. La tâche de mise en production du travail s’exécute lorsque le travail se termine, en raison de l’une des opérations suivantes : l’utilisateur appelle l’API Terminer le travail ou l’API Supprimer le travail pendant que le travail est toujours actif, la contrainte de temps d’horloge maximale du travail est atteinte et le travail est toujours actif ou la tâche du Gestionnaire de travaux est terminée et le travail est configuré pour se terminer lorsque le Gestionnaire de travaux se termine. La tâche de mise en production du travail s’exécute sur chaque nœud où les tâches du travail ont été exécutées et la tâche de préparation du travail s’est exécutée et terminée. Si vous réimagez un nœud une fois qu’il a exécuté la tâche de préparation du travail et que le travail se termine sans aucune autre tâche du travail en cours d’exécution sur ce nœud (et par conséquent, la tâche de préparation du travail ne réexécute pas), la tâche de mise en production du travail ne s’exécute pas sur ce nœud de calcul. Si un nœud redémarre pendant que la tâche de mise en production du travail est toujours en cours d’exécution, la tâche de mise en production du travail s’exécute à nouveau lorsque le nœud de calcul démarre. Le travail n’est pas marqué comme terminé tant que toutes les tâches de mise en production du travail n’ont pas été terminées. La tâche de mise en production du travail s’exécute en arrière-plan. Il n’occupe pas un emplacement de planification ; autrement dit, elle ne compte pas vers la limite taskSlotsPerNode spécifiée sur le pool.
Propriétés
| command |
La ligne de commande de la tâche de libération de tâches. 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’extension de variable 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. Si la ligne de commande fait référence à des chemins de fichier, elle doit utiliser un chemin relatif (par rapport au répertoire de travail de tâche) ou utiliser la variable d’environnement fournie par Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| container |
Les paramètres du conteneur sous lequel s’exécute la tâche de libération de tâches. Lorsque cela est spécifié, tous les répertoires sous le 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 de l’environnement Tâche sont mappées dans le conteneur, et la ligne de commande Tâche est exécutée dans le conteneur. Les fichiers produits dans le conteneur en dehors de AZ_BATCH_NODE_ROOT_DIR peuvent ne pas être reflétés sur le disque hôte, ce qui signifie que les API de fichiers Batch ne pourront pas accéder à ces fichiers. |
| environment |
Une liste des paramètres des variables d’environnement pour la tâche de libération de tâches. |
| id | Une chaîne qui identifie de manière unique la tâche de libération de poste au sein du poste. L’ID peut contenir n’importe quelle combinaison de caractères alphanumériques, y compris les traits d’union et les soulignements, et ne peut pas contenir plus de 64 caractères. Si vous ne spécifiez pas cette propriété, le service Batch attribue une valeur par défaut de « jobrelease ». Aucune autre tâche dans le Job ne peut avoir le même ID que la Tâche de Libération d’Emploi. Si vous essayez de soumettre une tâche avec le même id, le service Batch rejette la requête avec le code d’erreur TaskIdSameAsJobReleaseTask ; si vous appelez directement l’API REST, le code d’état HTTP est 409 (Conflit). |
| max |
Le temps maximal écoulé que la tâche de libération de tâche peut exécuter sur un nœud de calcul donné, mesuré à partir du moment où la tâche commence. Si la tâche ne se termine pas dans le temps imparti, le service Batch la termine. La valeur par défaut est de 15 minutes. Vous ne pouvez pas spécifier un temps mort de plus de 15 minutes. Si c’est le cas, le service Batch le rejette avec une erreur ; si vous appelez directement l’API REST, le code d’état HTTP est 400 (Mauvaise requête). |
| resource |
Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande. Il existe une taille maximale pour la liste des fichiers de ressources. Lorsque la taille maximale est dépassée, la requête échoue et le code d’erreur de réponse est RequestEntityTooLarge. Si cela se produit, la collection de ResourceFiles doit être réduite en taille. Pour ce faire, vous pouvez utiliser des fichiers .zip, des packages d’application ou des conteneurs Docker. Les fichiers répertoriés sous cet élément se trouvent dans le répertoire de travail de la tâche. |
| retention |
Le temps minimum pour conserver le répertoire Tâche pour la tâche de libération de tâches sur le nœud de calcul. Après ce délai, le service Batch peut supprimer le répertoire Tâche et tout son contenu. Par défaut, c’est 7 jours, c’est-à-dire que le répertoire Tâche sera conservé pendant 7 jours, sauf si le nœud de calcul est supprimé ou que le travail est supprimé. |
| user |
L’identité utilisateur sous laquelle la tâche de libération de tâches s’exécute. Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche. |
Détails de la propriété
commandLine
La ligne de commande de la tâche de libération de tâches. 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’extension de variable 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. Si la ligne de commande fait référence à des chemins de fichier, elle doit utiliser un chemin relatif (par rapport au répertoire de travail de tâche) ou utiliser la variable d’environnement fournie par Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Valeur de propriété
string
containerSettings
Les paramètres du conteneur sous lequel s’exécute la tâche de libération de tâches. Lorsque cela est spécifié, tous les répertoires sous le 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 de l’environnement Tâche sont mappées dans le conteneur, et la ligne de commande Tâche est exécutée dans le conteneur. Les fichiers produits dans le conteneur en dehors de AZ_BATCH_NODE_ROOT_DIR peuvent ne pas être reflétés sur le disque hôte, ce qui signifie que les API de fichiers Batch ne pourront pas accéder à ces fichiers.
containerSettings?: BatchTaskContainerSettings
Valeur de propriété
environmentSettings
Une liste des paramètres des variables d’environnement pour la tâche de libération de tâches.
environmentSettings?: EnvironmentSetting[]
Valeur de propriété
id
Une chaîne qui identifie de manière unique la tâche de libération de poste au sein du poste. L’ID peut contenir n’importe quelle combinaison de caractères alphanumériques, y compris les traits d’union et les soulignements, et ne peut pas contenir plus de 64 caractères. Si vous ne spécifiez pas cette propriété, le service Batch attribue une valeur par défaut de « jobrelease ». Aucune autre tâche dans le Job ne peut avoir le même ID que la Tâche de Libération d’Emploi. Si vous essayez de soumettre une tâche avec le même id, le service Batch rejette la requête avec le code d’erreur TaskIdSameAsJobReleaseTask ; si vous appelez directement l’API REST, le code d’état HTTP est 409 (Conflit).
id?: string
Valeur de propriété
string
maxWallClockTime
Le temps maximal écoulé que la tâche de libération de tâche peut exécuter sur un nœud de calcul donné, mesuré à partir du moment où la tâche commence. Si la tâche ne se termine pas dans le temps imparti, le service Batch la termine. La valeur par défaut est de 15 minutes. Vous ne pouvez pas spécifier un temps mort de plus de 15 minutes. Si c’est le cas, le service Batch le rejette avec une erreur ; si vous appelez directement l’API REST, le code d’état HTTP est 400 (Mauvaise requête).
maxWallClockTime?: string
Valeur de propriété
string
resourceFiles
Liste des fichiers que le service Batch télécharge sur le nœud de calcul avant d’exécuter la ligne de commande. Il existe une taille maximale pour la liste des fichiers de ressources. Lorsque la taille maximale est dépassée, la requête échoue et le code d’erreur de réponse est RequestEntityTooLarge. Si cela se produit, la collection de ResourceFiles doit être réduite en taille. Pour ce faire, vous pouvez utiliser des fichiers .zip, des packages d’application ou des conteneurs Docker. Les fichiers répertoriés sous cet élément se trouvent dans le répertoire de travail de la tâche.
resourceFiles?: ResourceFile[]
Valeur de propriété
retentionTime
Le temps minimum pour conserver le répertoire Tâche pour la tâche de libération de tâches sur le nœud de calcul. Après ce délai, le service Batch peut supprimer le répertoire Tâche et tout son contenu. Par défaut, c’est 7 jours, c’est-à-dire que le répertoire Tâche sera conservé pendant 7 jours, sauf si le nœud de calcul est supprimé ou que le travail est supprimé.
retentionTime?: string
Valeur de propriété
string
userIdentity
L’identité utilisateur sous laquelle la tâche de libération de tâches s’exécute. Si elle est omise, la tâche s’exécute en tant qu’utilisateur non administratif unique à la tâche.
userIdentity?: UserIdentity