Partilhar via


CloudJob.AddTaskAsync Método

Definição

Sobrecargas

AddTaskAsync(CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken)

Adiciona uma única tarefa a este CloudJob. Para adicionar várias tarefas, use JobOperations.AddTaskAsync.

AddTaskAsync(IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>)

Adiciona tarefas a um trabalho.

AddTaskAsync(CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken)

Adiciona uma única tarefa a este CloudJob. Para adicionar várias tarefas, use JobOperations.AddTaskAsync.

public System.Threading.Tasks.Task AddTaskAsync (Microsoft.Azure.Batch.CloudTask taskToAdd, System.Collections.Concurrent.ConcurrentDictionary<Type,Microsoft.Azure.Batch.IFileStagingArtifact> allFileStagingArtifacts = default, System.Collections.Generic.IEnumerable<Microsoft.Azure.Batch.BatchClientBehavior> additionalBehaviors = default, System.Threading.CancellationToken cancellationToken = default);
member this.AddTaskAsync : Microsoft.Azure.Batch.CloudTask * System.Collections.Concurrent.ConcurrentDictionary<Type, Microsoft.Azure.Batch.IFileStagingArtifact> * seq<Microsoft.Azure.Batch.BatchClientBehavior> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function AddTaskAsync (taskToAdd As CloudTask, Optional allFileStagingArtifacts As ConcurrentDictionary(Of Type, IFileStagingArtifact) = Nothing, Optional additionalBehaviors As IEnumerable(Of BatchClientBehavior) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task

Parâmetros

taskToAdd
CloudTask

O CloudTask a ser adicionado.

allFileStagingArtifacts
ConcurrentDictionary<Type,IFileStagingArtifact>

Uma coleção opcional para personalizar e receber informações sobre o processo de preparo de arquivo (consulte FilesToStage). Para obter mais informações, consulte IFileStagingArtifact.

additionalBehaviors
IEnumerable<BatchClientBehavior>

Uma coleção de BatchClientBehavior instâncias que são aplicadas à solicitação de serviço do Lote após o CustomBehaviors.

cancellationToken
CancellationToken

Um CancellationToken para controlar o tempo de vida da operação assíncrona.

Retornos

Um Task que representa a operação assíncrona.

Comentários

Cada chamada a esse método incorre em uma solicitação para o serviço do Lote. Portanto, usar esse método para adicionar várias tarefas é menos eficiente do que usar um método de adição em massa e pode incorrer em restrições de conexão HTTP. Se você estiver executando muitas dessas operações em paralelo e estiver vendo tempos limite do lado do cliente (um TaskCanceledException), consulte http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx ou use AddTaskAsync(String, IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>).

A operação adicionar tarefa é executada de forma assíncrona.

Aplica-se a

AddTaskAsync(IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>)

Adiciona tarefas a um trabalho.

public System.Threading.Tasks.Task AddTaskAsync (System.Collections.Generic.IEnumerable<Microsoft.Azure.Batch.CloudTask> tasksToAdd, Microsoft.Azure.Batch.BatchClientParallelOptions parallelOptions = default, System.Collections.Concurrent.ConcurrentBag<System.Collections.Concurrent.ConcurrentDictionary<Type,Microsoft.Azure.Batch.IFileStagingArtifact>> fileStagingArtifacts = default, TimeSpan? timeout = default, System.Collections.Generic.IEnumerable<Microsoft.Azure.Batch.BatchClientBehavior> additionalBehaviors = default);
member this.AddTaskAsync : seq<Microsoft.Azure.Batch.CloudTask> * Microsoft.Azure.Batch.BatchClientParallelOptions * System.Collections.Concurrent.ConcurrentBag<System.Collections.Concurrent.ConcurrentDictionary<Type, Microsoft.Azure.Batch.IFileStagingArtifact>> * Nullable<TimeSpan> * seq<Microsoft.Azure.Batch.BatchClientBehavior> -> System.Threading.Tasks.Task
Public Function AddTaskAsync (tasksToAdd As IEnumerable(Of CloudTask), Optional parallelOptions As BatchClientParallelOptions = Nothing, Optional fileStagingArtifacts As ConcurrentBag(Of ConcurrentDictionary(Of Type, IFileStagingArtifact)) = Nothing, Optional timeout As Nullable(Of TimeSpan) = Nothing, Optional additionalBehaviors As IEnumerable(Of BatchClientBehavior) = Nothing) As Task

Parâmetros

tasksToAdd
IEnumerable<CloudTask>

Os CloudTasks a serem adicionados.

parallelOptions
BatchClientParallelOptions

Controla o número de solicitações addTaskCollection paralelas simultâneas emitidas para o serviço do Lote. Cada solicitação AddTaskCollection contém, no máximo MaxTasksInSingleAddTaskCollectionRequest , tarefas nela. Também controla o token de cancelamento para a operação. Se omitido, o padrão será usado (consulte BatchClientParallelOptions.)

fileStagingArtifacts
ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>

Uma coleção opcional para receber informações sobre o processo de preparo de arquivo (consulte FilesToStage). Uma entrada é adicionada ao ConcurrentBag<T> para cada conjunto de tarefas agrupadas para envio ao serviço do Lote. Ao contrário dos adicionais de tarefa única, você não pode usar esse parâmetro para personalizar o processo de preparo de arquivo. Para obter mais informações sobre o formato de cada entrada, consulte IFileStagingArtifact.

timeout
Nullable<TimeSpan>

A quantidade de tempo após a qual a operação atinge o tempo limite.

additionalBehaviors
IEnumerable<BatchClientBehavior>

Uma coleção de BatchClientBehavior instâncias que são aplicadas à solicitação de serviço do Lote após o CustomBehaviors.

Retornos

Um objeto Task que representa a operação assíncrona.

Exceções

Gerado se uma ou mais solicitações para o serviço do Lote falharem.

Comentários

A operação adicionar tarefa é executada de forma assíncrona.

Este método não é atômico; ou seja, é possível que o método comece a adicionar tarefas e, em seguida, falhe. A coleção de tarefas a serem adicionadas é dividida em partes de tamanho no máximo MaxTasksInSingleAddTaskCollectionRequeste uma solicitação AddTaskCollection é emitida para cada parte. As solicitações podem ser emitidas em paralelo de acordo com o parallelOptions.

A emissão de um grande número de solicitações simultâneas para o serviço do Lote pode incorrer em restrições de conexão HTTP. Se você estiver executando muitas dessas operações em paralelo (ou tiver especificado um MaxDegreeOfParallelism grande no parallelOptions) e estiver vendo tempos limite do lado do cliente (a TaskCanceledException), consulte http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx .

O progresso da operação em face de erros é determinado pelo AddTaskCollectionResultHandler comportamento. Normalmente, você não precisa especificar esse comportamento, pois o cliente do Lote usa um padrão que funciona em circunstâncias normais. Se você quiser personalizar esse comportamento, especifique um AddTaskCollectionResultHandler nas CustomBehaviors coleções ou additionalBehaviors .

Aplica-se a