Partilhar via


JobSpecification Classe

Especifica os detalhes das Tarefas a criar com base numa agenda.

Todos os parâmetros necessários têm de ser preenchidos para enviar para o Azure.

Herança
JobSpecification

Construtor

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)

Parâmetros

priority
int
Necessário

A prioridade das Tarefas criadas ao abrigo desta agenda. Os valores de prioridade podem variar entre -1000 e 1000, sendo -1000 a prioridade mais baixa e 1000 a prioridade mais alta. O valor predefinido é 0. Esta prioridade é utilizada como predefinição para todas as Tarefas ao abrigo da Agenda de Tarefas. Pode atualizar a prioridade de uma Tarefa depois de ter sido criada com a API de Tarefa de atualização.

allow_task_preemption
bool
Necessário

Se as Tarefas nesta tarefa podem ser impedidas por outros trabalhos de alta prioridade. Se o valor estiver definido como Verdadeiro, outras tarefas de alta prioridade submetidas ao sistema terão precedência e poderão voltar a colocar tarefas em fila a partir desta tarefa. Pode atualizar a allowTaskPreemption de uma tarefa depois de ter sido criada com a API de tarefa de atualização.

max_parallel_tasks
int
Necessário

O número máximo de tarefas que podem ser executadas em paralelo para a tarefa. Se especificado, o valor de maxParallelTasks tem de ser -1 ou superior a 0. Se não for especificado, o valor predefinido é -1, o que significa que não há limite para o número de tarefas que podem ser executadas ao mesmo tempo. Pode atualizar maxParallelTasks de uma tarefa depois de ter sido criada com a API de tarefa de atualização. Valor predefinido: -1 .

display_name
str
Necessário

O nome não tem de ser exclusivo e pode conter carateres Unicode até um comprimento máximo de 1024.

uses_task_dependencies
bool
Necessário

Se as Tarefas na Tarefa podem definir dependências entre si. A predefinição é false.

on_all_tasks_complete
str ou OnAllTasksComplete
Necessário

A ação que o serviço Batch deve efetuar quando todas as Tarefas numa Tarefa criadas ao abrigo desta agenda estiverem no estado concluído. Tenha em atenção que, se uma Tarefa não contiver Tarefas, todas as Tarefas serão consideradas concluídas. Por conseguinte, esta opção é utilizada com mais frequência com uma tarefa do Gestor de Tarefas; Se quiser utilizar a Terminação automática de tarefas sem um Gestor de Tarefas, deve inicialmente definir onAllTasksComplete como noaction e atualizar as propriedades da Tarefa para definir onAllTasksComplete para terminar o trabalho assim que terminar de adicionar Tarefas. A predefinição é noaction. Os valores possíveis incluem: "noAction", "terminateJob"

on_task_failure
str ou OnTaskFailure
Necessário

A ação que o serviço Batch deve efetuar quando qualquer Tarefa falhar numa Tarefa criada ao abrigo desta agenda. Considera-se que uma Tarefa falhou se tiver falhado se tiver uma falhaInfo. Uma failureInfo é definida se a Tarefa for concluída com um código de saída diferente de zero depois de esgotar a contagem de repetições ou se tiver ocorrido um erro ao iniciar a Tarefa, por exemplo, devido a um erro de transferência do ficheiro de recurso. A predefinição é noaction. Os valores possíveis incluem: "noAction", "performExitOptionsJobAction"

network_configuration
JobNetworkConfiguration
Necessário

A configuração de rede para a Tarefa.

constraints
JobConstraints
Necessário

As restrições de execução para Tarefas criadas ao abrigo desta agenda.

job_manager_task
JobManagerTask
Necessário

Os detalhes de uma Tarefa do Gestor de Tarefas a iniciar quando uma Tarefa é iniciada ao abrigo desta agenda. Se a Tarefa não especificar uma Tarefa do Gestor de Tarefas, o utilizador tem de adicionar explicitamente Tarefas à Tarefa com a API de Tarefas. Se a Tarefa especificar uma Tarefa do Gestor de Tarefas, o serviço Batch cria a Tarefa do Gestor de Tarefas quando a Tarefa é criada e tentará agendar a Tarefa do Gestor de Tarefas antes de agendar outras Tarefas na Tarefa.

job_preparation_task
JobPreparationTask
Necessário

A Tarefa de Preparação de Tarefas para Tarefas criada ao abrigo desta agenda. Se uma Tarefa tiver uma Tarefa de Preparação de Tarefas, o serviço Batch executará a Tarefa de Preparação de Tarefas num Nó antes de iniciar quaisquer Tarefas dessa Tarefa nesse Nó de Computação.

job_release_task
JobReleaseTask
Necessário

A Tarefa de Lançamento de Tarefas para Tarefas criada ao abrigo desta agenda. O principal objetivo da Tarefa de Lançamento da Tarefa é anular as alterações aos Nós efetuadas pela Tarefa de Preparação da Tarefa. As atividades de exemplo incluem a eliminação de ficheiros locais ou o encerramento de serviços iniciados como parte da preparação da tarefa. Não é possível especificar uma Tarefa de Libertação de Tarefas sem especificar também uma Tarefa de Preparação de Tarefas para a Tarefa. O serviço Batch executa a Tarefa de Lançamento da Tarefa nos Nós de Computação que executaram a Tarefa de Preparação da Tarefa.

common_environment_settings
list[EnvironmentSetting]
Necessário

As Tarefas Individuais podem substituir uma definição de ambiente especificada aqui ao especificar o mesmo nome de definição com um valor diferente.

pool_info
PoolInformation
Necessário

Obrigatório. O Conjunto no qual o serviço Batch executa as Tarefas de Tarefas criadas ao abrigo desta agenda.

metadata
list[MetadataItem]
Necessário

O serviço Batch não atribui qualquer significado aos metadados; destina-se apenas à utilização de código de utilizador.

Métodos

as_dict

Devolver um ditado que pode ser JSONify com json.dump.

Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro:

A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente, contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. O valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, isto é considerado dict de resultado hierárquico.

Veja os três exemplos neste ficheiro:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se quiser serialização XML, pode transmitir os kwargs is_xml=True.

deserialize

Analise um str com a sintaxe RestAPI e devolva um modelo.

enable_additional_properties_sending
from_dict

Analisar um ditado com um determinado extrator de chaves devolve um modelo.

Por predefinição, considere extratores chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Devolver o JSON que seria enviado para o Azure a partir deste modelo.

Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso).

Se quiser serialização XML, pode transmitir os kwargs is_xml=True.

validate

Valide este modelo de forma recursiva e devolva uma lista de ValidationError.

as_dict

Devolver um ditado que pode ser JSONify com json.dump.

Opcionalmente, a utilização avançada pode utilizar uma chamada de retorno como parâmetro:

A chave é o nome do atributo utilizado no Python. Attr_desc é um ditado dos metadados. Atualmente, contém "type" com o tipo msrest e "key" com a chave codificada RestAPI. O valor é o valor atual neste objeto.

A cadeia devolvida será utilizada para serializar a chave. Se o tipo de retorno for uma lista, isto é considerado dict de resultado hierárquico.

Veja os três exemplos neste ficheiro:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Se quiser serialização XML, pode transmitir os kwargs is_xml=True.

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

Parâmetros

key_transformer
<xref:function>

Uma função de transformador de chaves.

keep_readonly
valor predefinido: True

Devoluções

Um objeto compatível com JSON de ditado

Tipo de retorno

deserialize

Analise um str com a sintaxe RestAPI e devolva um modelo.

deserialize(data, content_type=None)

Parâmetros

data
str
Necessário

Um str com a estrutura RestAPI. JSON por predefinição.

content_type
str
valor predefinido: None

JSON por predefinição, defina application/xml se XML.

Devoluções

Uma instância deste modelo

Exceções

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analisar um ditado com um determinado extrator de chaves devolve um modelo.

Por predefinição, considere extratores chave (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)

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

Parâmetros

data
dict
Necessário

Um ditado com a estrutura restAPI

content_type
str
valor predefinido: None

JSON por predefinição, defina application/xml se XML.

key_extractors
valor predefinido: None

Devoluções

Uma instância deste modelo

Exceções

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Devolver o JSON que seria enviado para o Azure a partir deste modelo.

Este é um alias para as_dict(full_restapi_key_transformer, keep_readonly=Falso).

Se quiser serialização XML, pode transmitir os kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parâmetros

keep_readonly
bool
valor predefinido: False

Se quiser serializar os atributos só de leitura

Devoluções

Um objeto compatível com JSON de ditado

Tipo de retorno

validate

Valide este modelo de forma recursiva e devolva uma lista de ValidationError.

validate()

Devoluções

Uma lista de erros de validação

Tipo de retorno