Freigeben über


CloudJob.AddTask Methode

Definition

Überlädt

AddTask(CloudTask, IEnumerable<BatchClientBehavior>)

Fügt diesem CloudJobeine einzelne Aufgabe hinzu. Verwenden Sie JobOperations.AddTaskAsync, um mehrere Aufgaben hinzuzufügen.

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

Fügt einem Auftrag Aufgaben hinzu.

AddTask(CloudTask, IEnumerable<BatchClientBehavior>)

Fügt diesem CloudJobeine einzelne Aufgabe hinzu. Verwenden Sie JobOperations.AddTaskAsync, um mehrere Aufgaben hinzuzufügen.

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

Parameter

taskToAdd
CloudTask

Das hinzuzufügende CloudTask.

additionalBehaviors
IEnumerable<BatchClientBehavior>

Eine Auflistung von BatchClientBehavior Instanzen, die auf die Batch-Dienstanforderung nach CustomBehaviorsangewendet werden.

Gibt zurück

Eine Sammlung von Informationen zum Datei-Stagingprozess (siehe FilesToStage). Weitere Informationen finden Sie unter IFileStagingArtifact.

Hinweise

Jeder Aufruf dieser Methode verursacht eine Anforderung an den Batch-Dienst. Daher ist die Verwendung dieser Methode zum Hinzufügen mehrerer Aufgaben weniger effizient als die Verwendung einer Massenzufügungsmethode und kann HTTP-Verbindungseinschränkungen verursachen. Wenn Sie viele dieser Vorgänge parallel ausführen und clientseitige Timeouts (eine TaskCanceledException) sehen, lesen http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx Sie oder verwenden AddTask(String, IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>)Sie .

Dies ist ein blockierende Vorgang. Eine nicht blockierende Entsprechung finden Sie unter AddTaskAsync(CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken).

Gilt für:

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

Fügt einem Auftrag Aufgaben hinzu.

public void AddTask (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 : 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 (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)

Parameter

tasksToAdd
IEnumerable<CloudTask>

Die CloudTasks, die hinzugefügt werden sollen.

parallelOptions
BatchClientParallelOptions

Steuert die Anzahl gleichzeitiger paralleler AddTaskCollection-Anforderungen, die an den Batch-Dienst ausgegeben werden. Jede AddTaskCollection-Anforderung enthält die meisten MaxTasksInSingleAddTaskCollectionRequest Aufgaben darin. Steuert auch das Abbruchtoken für den Vorgang. Wenn nicht angegeben, wird der Standardwert verwendet (siehe BatchClientParallelOptions.)

fileStagingArtifacts
ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>

Eine optionale Auflistung zum Empfangen von Informationen zum Datei-Stagingprozess (siehe FilesToStage). Für jede Gruppe von Aufgaben, die für die ConcurrentBag<T> Übermittlung an den Batch-Dienst gruppiert sind, wird ein Eintrag hinzugefügt. Im Gegensatz zu Einzeltasks können Sie diesen Parameter nicht verwenden, um den Datei-Stagingprozess anzupassen. Weitere Informationen zum Format der einzelnen Einträge finden Sie unter IFileStagingArtifact.

timeout
Nullable<TimeSpan>

Die Zeitspanne, nach der für den Vorgang ein Timeout auftritt.

additionalBehaviors
IEnumerable<BatchClientBehavior>

Eine Auflistung von BatchClientBehavior Instanzen, die auf die Batch-Dienstanforderung nach CustomBehaviorsangewendet werden.

Ausnahmen

Wird ausgelöst, wenn eine oder mehrere Anforderungen an den Batch-Dienst fehlschlagen.

Hinweise

Dies ist ein blockierende Vorgang. eine nicht blockierende Entsprechung finden Sie unter AddTaskAsync(IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>).

Diese Methode ist nicht atomar; Das heißt, es ist möglich, dass die -Methode mit dem Hinzufügen von Aufgaben beginnt und dann fehlschlägt. Die Auflistung der hinzuzufügenden Aufgaben wird höchstens MaxTasksInSingleAddTaskCollectionRequestin Blöcke mit größe unterteilt, und für jeden Block wird eine AddTaskCollection-Anforderung ausgegeben. Anforderungen können parallel gemäß parallelOptionsausgestellt werden.

Beim Ausgeben einer großen Anzahl gleichzeitiger Anforderungen an den Batch-Dienst können HTTP-Verbindungseinschränkungen auftreten. Wenn Sie viele dieser Vorgänge parallel ausführen (oder einen großen MaxDegreeOfParallelism in den parallelOptions angegeben haben) und clientseitige Timeouts (a TaskCanceledException) sehen Sie sich an http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx .

Der Fortschritt des Vorgangs bei Fehlern wird durch AddTaskCollectionResultHandler das Verhalten bestimmt. Normalerweise müssen Sie dieses Verhalten nicht angeben, da der Batch-Client einen Standardwert verwendet, der unter normalen Umständen funktioniert. Wenn Sie dieses Verhalten anpassen möchten, geben Sie einen AddTaskCollectionResultHandler in der - oder additionalBehaviors -CustomBehaviorsAuflistung an.

Gilt für: