Freigeben über


JobOperations.AddTask Methode

Definition

Überlädt

AddTask(String, CloudTask, IEnumerable<BatchClientBehavior>)

Fügt einem Auftrag eine einzelne Aufgabe hinzu. Um mehrere Aufgaben hinzuzufügen, verwenden Sie JobOperations.AddTaskAsync.

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

Fügt einem Auftrag Aufgaben hinzu.

AddTask(String, CloudTask, IEnumerable<BatchClientBehavior>)

Fügt einem Auftrag eine einzelne Aufgabe hinzu. Um mehrere Aufgaben hinzuzufügen, verwenden Sie 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)

Parameter

jobId
String

Die ID des Auftrags, dem die Aufgabe hinzugefügt werden soll.

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

Bei jedem Aufruf dieser Methode wird eine Anforderung an den Batch-Dienst gestellt. 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 sehen, sehen http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx Sie sich die Überladung mit mehreren Aufgaben von AddTask an oder verwenden Sie diese.

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

Gilt für:

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

Fügt einem Auftrag Aufgaben hinzu.

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)

Parameter

jobId
String

Die ID des Auftrags, dem die Aufgaben hinzugefügt werden sollen.

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 Sammlung 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 das Timeout des Vorgangs auftritt.

additionalBehaviors
IEnumerable<BatchClientBehavior>

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

Ausnahmen

Wird ausgelöst, wenn mindestens eine Anforderung an den Batch-Dienst fehlschlägt.

Hinweise

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

Diese Methode ist nicht atomisch; 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 maximal MaxTasksInSingleAddTaskCollectionRequestin Größenblöcke 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 angezeigt werden, lesen http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx Sie bitte .

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 Standard 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: