Freigeben über


JobOperations.AddTaskAsync Methode

Definition

Überlädt

AddTaskAsync(String, CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken)

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

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

Fügt einem Auftrag Aufgaben hinzu.

AddTaskAsync(String, CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken)

Quelle:
JobOperations.cs

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

public System.Threading.Tasks.Task AddTaskAsync (string jobId, 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 : string * 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 (jobId As String, 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

Parameter

jobId
String

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

taskToAdd
CloudTask

Das hinzuzufügende CloudTask.

allFileStagingArtifacts
ConcurrentDictionary<Type,IFileStagingArtifact>

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

additionalBehaviors
IEnumerable<BatchClientBehavior>

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

cancellationToken
CancellationToken

Ein CancellationToken zum Steuern der Lebensdauer des asynchronen Vorgangs.

Gibt zurück

Ein Task-Objekt, das den asynchronen Vorgang darstellt.

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 sehen, lesen http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx Sie oder verwenden Sie die Überladung mit mehreren Aufgaben von AddTaskAsync.

Der Vorgang "Task hinzufügen" wird asynchron ausgeführt.

Gilt für:

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

Quelle:
JobOperations.cs

Fügt einem Auftrag Aufgaben hinzu.

public System.Threading.Tasks.Task AddTaskAsync (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.AddTaskAsync : 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> -> System.Threading.Tasks.Task
Public Function AddTaskAsync (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) As Task

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

Gibt zurück

Ein Task-Objekt, das den asynchronen Vorgang darstellt.

Ausnahmen

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

Hinweise

Der Vorgang "Task hinzufügen" wird asynchron ausgeführt.

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 angezeigt werden, lesen http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx Sie .

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: