CloudJob.AddTask Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
- 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.
- 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äß parallelOptions
ausgestellt 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.