Compartilhar via


JobOperations.AddTask Método

Definição

Sobrecargas

AddTask(String, CloudTask, IEnumerable<BatchClientBehavior>)

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

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

Adiciona tarefas a um trabalho.

AddTask(String, CloudTask, IEnumerable<BatchClientBehavior>)

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

public System.Collections.Concurrent.ConcurrentDictionary<Type,Microsoft.Azure.Batch.IFileStagingArtifact> AddTask (string jobId, Microsoft.Azure.Batch.CloudTask taskToAdd, System.Collections.Generic.IEnumerable<Microsoft.Azure.Batch.BatchClientBehavior> additionalBehaviors = default);
member this.AddTask : string * Microsoft.Azure.Batch.CloudTask * seq<Microsoft.Azure.Batch.BatchClientBehavior> -> System.Collections.Concurrent.ConcurrentDictionary<Type, Microsoft.Azure.Batch.IFileStagingArtifact>
Public Function AddTask (jobId As String, taskToAdd As CloudTask, Optional additionalBehaviors As IEnumerable(Of BatchClientBehavior) = Nothing) As ConcurrentDictionary(Of Type, IFileStagingArtifact)

Parâmetros

jobId
String

A ID do trabalho ao qual adicionar a tarefa.

taskToAdd
CloudTask

O CloudTask a ser adicionado.

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

Uma coleção de informações sobre o processo de preparo de arquivos (consulte FilesToStage). Para obter mais informações, consulte IFileStagingArtifact.

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, consulte http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx ou use a sobrecarga de várias tarefas do AddTask.

Esta é uma operação de bloqueio. Para obter um equivalente sem bloqueio, consulte AddTaskAsync(String, CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken).

Aplica-se a

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

Adiciona tarefas a um trabalho.

public void AddTask (string jobId, 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.AddTask : string * 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> -> unit
Public Sub AddTask (jobId As String, 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)

Parâmetros

jobId
String

A ID do trabalho ao qual adicionar as tarefas.

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 da 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 arquivos (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 arquivos. Para obter mais informações sobre o formato de cada entrada, consulte IFileStagingArtifact.

timeout
Nullable<TimeSpan>

A quantidade de tempo após o 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.

Exceções

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

Comentários

Esta é uma operação de bloqueio; para um equivalente sem bloqueio, consulte AddTaskAsync(String, IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>).

Esse 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.

Emitir 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, 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