Partager via


JobSpecification Classe

Spécifie les détails des travaux à créer selon une planification.

Tous les paramètres requis doivent être renseignés pour pouvoir être envoyés à Azure.

Héritage
JobSpecification

Constructeur

JobSpecification(*, pool_info, priority: int = None, allow_task_preemption: bool = None, max_parallel_tasks: int = -1, display_name: str = None, uses_task_dependencies: bool = None, on_all_tasks_complete=None, on_task_failure=None, network_configuration=None, constraints=None, job_manager_task=None, job_preparation_task=None, job_release_task=None, common_environment_settings=None, metadata=None, **kwargs)

Paramètres

priority
int
Obligatoire

Priorité des travaux créés dans le cadre de cette planification. Les valeurs de priorité peuvent être comprises entre -1000 et 1000, -1 000 étant la priorité la plus basse et 1000 la plus haute. La valeur par défaut est 0. Cette priorité est utilisée comme valeur par défaut pour tous les travaux sous la planification des travaux. Vous pouvez mettre à jour la priorité d’un travail une fois qu’il a été créé à l’aide de l’API de travail de mise à jour.

allow_task_preemption
bool
Obligatoire

Indique si les tâches de ce travail peuvent être préemptées par d’autres travaux hautement prioritaires. Si la valeur est définie sur True, d’autres travaux à priorité élevée soumis au système seront prioritaires et pourront renvoyer les tâches de ce travail. Vous pouvez mettre à jour l’objet allowTaskPreemption d’un travail une fois qu’il a été créé à l’aide de l’API de travail de mise à jour.

max_parallel_tasks
int
Obligatoire

Nombre maximal de tâches pouvant être exécutées en parallèle pour le travail. La valeur de maxParallelTasks doit être -1 ou supérieure à 0 si elle est spécifiée. Si elle n’est pas spécifiée, la valeur par défaut est -1, ce qui signifie qu’il n’y a aucune limite au nombre de tâches pouvant être exécutées simultanément. Vous pouvez mettre à jour maxParallelTasks d’un travail une fois qu’il a été créé à l’aide de l’API de travail de mise à jour. Valeur par défaut : -1 .

display_name
str
Obligatoire

Le nom n’a pas besoin d’être unique et peut contenir des caractères Unicode jusqu’à une longueur maximale de 1024.

uses_task_dependencies
bool
Obligatoire

Indique si les tâches du travail peuvent définir des dépendances les unes sur les autres. La valeur par défaut est false.

on_all_tasks_complete
str ou OnAllTasksComplete
Obligatoire

Action que le service Batch doit effectuer lorsque toutes les tâches d’un travail créé dans le cadre de cette planification sont à l’état terminé. Notez que si un travail ne contient aucune tâche, toutes les tâches sont considérées comme terminées. Cette option est donc la plus couramment utilisée avec une tâche Job Manager ; si vous souhaitez utiliser l’arrêt automatique des travaux sans gestionnaire de travaux, vous devez d’abord définir surAllTasksComplete la valeur noaction et mettre à jour les propriétés du travail pour définir surAllTasksComplete pour terminer le travail une fois que vous avez terminé l’ajout de tâches. La valeur par défaut est noaction. Les valeurs possibles sont les suivantes : 'noAction', 'terminateJob'

on_task_failure
str ou OnTaskFailure
Obligatoire

Action que le service Batch doit effectuer en cas d’échec d’une tâche dans un travail créé dans le cadre de cette planification. Une tâche est considérée comme ayant échoué si elle a échoué en cas de défaillance d’une erreurInfo. Une valeur failureInfo est définie si la tâche se termine avec un code de sortie non nul après avoir épuisé son nombre de nouvelles tentatives, ou s’il y a eu une erreur au démarrage de la tâche, par exemple en raison d’une erreur de téléchargement de fichier de ressources. La valeur par défaut est noaction. Les valeurs possibles sont les suivantes : 'noAction', 'performExitOptionsJobAction'

network_configuration
JobNetworkConfiguration
Obligatoire

Configuration réseau du travail.

constraints
JobConstraints
Obligatoire

Contraintes d’exécution pour les travaux créés dans le cadre de cette planification.

job_manager_task
JobManagerTask
Obligatoire

Détails d’une tâche du Gestionnaire de travaux à lancer lorsqu’un travail est démarré dans le cadre de cette planification. Si le travail ne spécifie pas de tâche du Gestionnaire de travaux, l’utilisateur doit ajouter explicitement des tâches au travail à l’aide de l’API Task. Si le travail spécifie une tâche du Gestionnaire de travaux, le service Batch crée la tâche Du Gestionnaire de travaux lors de la création du travail et tente de planifier la tâche du Gestionnaire de travaux avant de planifier d’autres tâches dans le travail.

job_preparation_task
JobPreparationTask
Obligatoire

Tâche de préparation du travail pour les travaux créés dans le cadre de cette planification. Si un travail a une tâche de préparation de travail, le service Batch exécute la tâche de préparation du travail sur un nœud avant de démarrer les tâches de ce travail sur ce nœud de calcul.

job_release_task
JobReleaseTask
Obligatoire

Tâche de mise en production de travaux pour les travaux créés dans le cadre de cette planification. L’objectif principal de la tâche de mise en production de travaux est d’annuler les modifications apportées aux nœuds par la tâche de préparation du travail. Les exemples d’activités incluent la suppression de fichiers locaux ou l’arrêt des services démarrés dans le cadre de la préparation du travail. Une tâche de mise en production de travail ne peut pas être spécifiée sans spécifier également une tâche de préparation du travail pour le travail. Le service Batch exécute la tâche de mise en production du travail sur les nœuds de calcul qui ont exécuté la tâche de préparation du travail.

common_environment_settings
list[EnvironmentSetting]
Obligatoire

Les tâches individuelles peuvent remplacer un paramètre d’environnement spécifié ici en spécifiant le même nom de paramètre avec une valeur différente.

pool_info
PoolInformation
Obligatoire

Obligatoire. Pool sur lequel le service Batch exécute les tâches des travaux créés dans le cadre de cette planification.

metadata
list[MetadataItem]
Obligatoire

Le service Batch n’attribue aucune signification aux métadonnées ; il s’agit uniquement de l’utilisation du code utilisateur.

Méthodes

as_dict

Retourne un dict qui peut être JSONify à l’aide de json.dump.

L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre :

La clé est le nom d’attribut utilisé dans Python. Attr_desc est une dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle de cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, il est considéré comme un dict de résultat hiérarchique.

Consultez les trois exemples de ce fichier :

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si vous souhaitez la sérialisation XML, vous pouvez passer les kwargs is_xml=True.

deserialize

Analysez une str à l’aide de la syntaxe RestAPI et retournez un modèle.

enable_additional_properties_sending
from_dict

Analyser une dict à l’aide de l’extracteur de clé donné retourne un modèle.

Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Retourne le json qui serait envoyé à Azure à partir de ce modèle.

Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False).

Si vous souhaitez la sérialisation XML, vous pouvez passer les kwargs is_xml=True.

validate

Validez ce modèle de manière récursive et retournez une liste de ValidationError.

as_dict

Retourne un dict qui peut être JSONify à l’aide de json.dump.

L’utilisation avancée peut éventuellement utiliser un rappel comme paramètre :

La clé est le nom d’attribut utilisé dans Python. Attr_desc est une dictée de métadonnées. Contient actuellement « type » avec le type msrest et « key » avec la clé encodée RestAPI. Value est la valeur actuelle de cet objet.

La chaîne retournée sera utilisée pour sérialiser la clé. Si le type de retour est une liste, il est considéré comme un dict de résultat hiérarchique.

Consultez les trois exemples de ce fichier :

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si vous souhaitez la sérialisation XML, vous pouvez passer les kwargs is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Paramètres

key_transformer
<xref:function>

Fonction de transformateur de clé.

keep_readonly
valeur par défaut: True

Retours

Objet compatible JSON dict

Type de retour

deserialize

Analysez une str à l’aide de la syntaxe RestAPI et retournez un modèle.

deserialize(data, content_type=None)

Paramètres

data
str
Obligatoire

Str utilisant la structure RestAPI. JSON par défaut.

content_type
str
valeur par défaut: None

JSON par défaut, définissez application/xml si XML.

Retours

Une instance de ce modèle

Exceptions

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analyser une dict à l’aide de l’extracteur de clé donné retourne un modèle.

Par défaut, considérez les extracteurs de clés (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor et last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

Paramètres

data
dict
Obligatoire

dict utilisant la structure RestAPI

content_type
str
valeur par défaut: None

JSON par défaut, définissez application/xml si XML.

key_extractors
valeur par défaut: None

Retours

Une instance de ce modèle

Exceptions

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Retourne le json qui serait envoyé à Azure à partir de ce modèle.

Il s’agit d’un alias pour as_dict(full_restapi_key_transformer, keep_readonly=False).

Si vous souhaitez la sérialisation XML, vous pouvez passer les kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Paramètres

keep_readonly
bool
valeur par défaut: False

Si vous souhaitez sérialiser les attributs readonly

Retours

Objet compatible JSON dict

Type de retour

validate

Validez ce modèle de manière récursive et retournez une liste de ValidationError.

validate()

Retours

Liste des erreurs de validation

Type de retour