Поделиться через


BatchWorker Класс

Определение

Общий шаблон для асинхронной рабочей роли, выполняющей рабочую задачу при уведомлении об обслуживании работы в очереди. Каждый рабочий цикл обрабатывает все работы в очереди. Если новые трудоемки поступают в течение рабочего цикла, планируется другой цикл. Рабочая роль никогда не выполняет более одного экземпляра рабочего цикла за раз и не использует ресурсы при простое. Он использует TaskScheduler.Current для планирования рабочих циклов.

public abstract class BatchWorker
type BatchWorker = class
Public MustInherit Class BatchWorker
Наследование
BatchWorker
Производный

Конструкторы

BatchWorker()

Общий шаблон для асинхронной рабочей роли, выполняющей рабочую задачу при уведомлении об обслуживании работы в очереди. Каждый рабочий цикл обрабатывает все работы в очереди. Если новые трудоемки поступают в течение рабочего цикла, планируется другой цикл. Рабочая роль никогда не выполняет более одного экземпляра рабочего цикла за раз и не использует ресурсы при простое. Он использует TaskScheduler.Current для планирования рабочих циклов.

Поля

lockable

Общий шаблон для асинхронной рабочей роли, выполняющей рабочую задачу при уведомлении об обслуживании работы в очереди. Каждый рабочий цикл обрабатывает все работы в очереди. Если новые трудоемки поступают в течение рабочего цикла, планируется другой цикл. Рабочая роль никогда не выполняет более одного экземпляра рабочего цикла за раз и не использует ресурсы при простое. Он использует TaskScheduler.Current для планирования рабочих циклов.

Свойства

CancellationToken

Возвращает или задает отмену, используемую для отмены этой пакетной рабочей роли.

Методы

IsIdle()

Проверьте, не простаит ли эта рабочая роль.

Notify()

Уведомите работника о том, что есть дополнительная работа.

Notify(DateTime)

Указывает пакетной рабочей роли выполнить еще раз, чтобы проверить работу, если она еще не была запущена к тому времени, в указанном utcTime.

NotifyAndWaitForWorkToBeServiced()

Уведомите работника о наличии дополнительных трудоемких работ и дождитесь текущего цикла работы, а также следующего рабочего цикла, если в настоящее время выполняется неслужбаная работа.

WaitForCurrentWorkToBeServiced()

Подождите текущий рабочий цикл, а также следующий рабочий цикл, если в настоящее время есть неслужбированные работы.

Work()

Реализация этого элемента в производных классах для определения того, что представляет собой рабочий цикл

Применяется к