CloudJob.AddTaskAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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.
- 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
.