Freigeben über


BatchWorker Klasse

Definition

Allgemeines Muster für einen asynchronen Worker, der eine Arbeitsaufgabe ausführt, wenn er benachrichtigt wird, für Die Arbeit in der Dienstwarteschlange. Jeder Arbeitszyklus verarbeitet ALLE in die Warteschlange eingereihten Arbeiten. Wenn während eines Arbeitszyklus neue Arbeit eintrifft, wird ein anderer Zyklus geplant. Der Worker führt nie mehr als eine Instanz des Arbeitszyklus gleichzeitig aus und verbraucht im Leerlauf keine Ressourcen. Es verwendet TaskScheduler.Current, um die Arbeitszyklen zu planen.

public abstract class BatchWorker
type BatchWorker = class
Public MustInherit Class BatchWorker
Vererbung
BatchWorker
Abgeleitet

Konstruktoren

BatchWorker()

Allgemeines Muster für einen asynchronen Worker, der eine Arbeitsaufgabe ausführt, wenn er benachrichtigt wird, für Die Arbeit in der Dienstwarteschlange. Jeder Arbeitszyklus verarbeitet ALLE in die Warteschlange eingereihten Arbeiten. Wenn während eines Arbeitszyklus neue Arbeit eintrifft, wird ein anderer Zyklus geplant. Der Worker führt nie mehr als eine Instanz des Arbeitszyklus gleichzeitig aus und verbraucht im Leerlauf keine Ressourcen. Es verwendet TaskScheduler.Current, um die Arbeitszyklen zu planen.

Felder

lockable

Allgemeines Muster für einen asynchronen Worker, der eine Arbeitsaufgabe ausführt, wenn er benachrichtigt wird, für Die Arbeit in der Dienstwarteschlange. Jeder Arbeitszyklus verarbeitet ALLE in die Warteschlange eingereihten Arbeiten. Wenn während eines Arbeitszyklus neue Arbeit eintrifft, wird ein anderer Zyklus geplant. Der Worker führt nie mehr als eine Instanz des Arbeitszyklus gleichzeitig aus und verbraucht im Leerlauf keine Ressourcen. Es verwendet TaskScheduler.Current, um die Arbeitszyklen zu planen.

Eigenschaften

CancellationToken

Ruft den Abbruch ab, der zum Abbrechen dieses Batch workers verwendet wird, oder legt diesen fest.

Methoden

IsIdle()

Überprüfen Sie, ob sich dieser Worker im Leerlauf befindet.

Notify()

Benachrichtigen Sie den Worker, dass mehr Arbeit erforderlich ist.

Notify(DateTime)

Weist den Batch worker an, erneut auszuführen, um nach Arbeit zu suchen, wenn er bis dahin noch nicht erneut ausgeführt wurde, am angegebenen utcTime.

NotifyAndWaitForWorkToBeServiced()

Benachrichtigen Sie den Worker, dass mehr Arbeit vorhanden ist, und warten Sie auf den aktuellen Arbeitszyklus und auf den nächsten Arbeitszyklus, wenn derzeit nicht gewartet wird.

WaitForCurrentWorkToBeServiced()

Warten Sie auf den aktuellen Arbeitszyklus und den nächsten Arbeitszyklus, wenn derzeit nicht gewartete Arbeit erfolgt.

Work()

Implementieren Sie diesen Member in abgeleiteten Klassen, um zu definieren, was einen Arbeitszyklus ausmacht.

Gilt für: