JobOperations.AddTask Método

Definición

Sobrecargas

AddTask(String, CloudTask, IEnumerable<BatchClientBehavior>)

Agrega una sola tarea a un trabajo. Para agregar varias tareas, use JobOperations.AddTaskAsync.

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

Agrega tareas a un trabajo.

AddTask(String, CloudTask, IEnumerable<BatchClientBehavior>)

Agrega una sola tarea a un trabajo. Para agregar varias tareas, 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

Identificador del trabajo al que se va a agregar la tarea.

taskToAdd
CloudTask

CloudTask que se va a agregar.

additionalBehaviors
IEnumerable<BatchClientBehavior>

Colección de BatchClientBehavior instancias que se aplican a la solicitud de servicio de Batch después de CustomBehaviors.

Devoluciones

Colección de información sobre el proceso de almacenamiento provisional de archivos (vea FilesToStage). Para obtener más información, vea IFileStagingArtifact.

Comentarios

Cada llamada a este método incurre en una solicitud al servicio Batch. Por lo tanto, el uso de este método para agregar varias tareas es menos eficaz que usar un método de adición masiva y puede incurrir en restricciones de conexión HTTP. Si está realizando muchas de estas operaciones en paralelo y ve tiempos de espera del lado cliente, consulte http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx o use la sobrecarga de varias tareas de AddTask.

Se trata de una operación de bloqueo. Para obtener un equivalente sin bloqueo, vea AddTaskAsync(String, CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken).

Se aplica a

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

Agrega tareas a un trabajo.

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

Identificador del trabajo al que se van a agregar las tareas.

tasksToAdd
IEnumerable<CloudTask>

Las instancias de CloudTask que se van a agregar.

parallelOptions
BatchClientParallelOptions

Controla el número de solicitudes AddTaskCollection paralelas simultáneas emitidas al servicio Batch. Cada solicitud AddTaskCollection contiene en la mayoría MaxTasksInSingleAddTaskCollectionRequest de las tareas. También controla el token de cancelación de la operación. Si se omite, se usa el valor predeterminado (consulte BatchClientParallelOptions).

fileStagingArtifacts
ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>

Colección opcional para recibir información sobre el proceso de almacenamiento provisional de archivos (vea FilesToStage). Se agrega una entrada a ConcurrentBag<T> para cada conjunto de tareas agrupadas para su envío al servicio Batch. A diferencia de lo que agrega una sola tarea, no puede usar este parámetro para personalizar el proceso de almacenamiento provisional de archivos. Para obtener más información sobre el formato de cada entrada, vea IFileStagingArtifact.

timeout
Nullable<TimeSpan>

Cantidad de tiempo después del cual se agota el tiempo de espera de la operación.

additionalBehaviors
IEnumerable<BatchClientBehavior>

Colección de BatchClientBehavior instancias que se aplican a la solicitud de servicio de Batch después de CustomBehaviors.

Excepciones

Se produce si se produce un error en una o varias solicitudes al servicio Batch.

Comentarios

Se trata de una operación de bloqueo; para ver un equivalente sin bloqueo, vea AddTaskAsync(String, IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>).

Este método no es atómico; es decir, es posible que el método empiece a agregar tareas y, a continuación, produzca un error. La colección de tareas que se van a agregar se divide en fragmentos de tamaño como máximo MaxTasksInSingleAddTaskCollectionRequesty se emite una solicitud AddTaskCollection para cada fragmento. Las solicitudes se pueden emitir en paralelo según .parallelOptions

La emisión de un gran número de solicitudes simultáneas al servicio Batch puede incurrir en restricciones de conexión HTTP. Si está realizando muchas de estas operaciones en paralelo (o ha especificado un maxDegreeOfParallelism grande en parallelOptions) y ve tiempos de espera del lado cliente, consulte http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx .

El progreso de la operación frente a errores viene determinado por AddTaskCollectionResultHandler el comportamiento. Normalmente no es necesario especificar este comportamiento, ya que el cliente de Batch usa un valor predeterminado que funciona en circunstancias normales. Si desea personalizar este comportamiento, especifique un AddTaskCollectionResultHandler en las CustomBehaviors colecciones o additionalBehaviors .

Se aplica a