Partilhar via


BatchWorker Classe

Definição

Padrão geral para um trabalho assíncrono que executa uma tarefa de trabalho, quando notificado, para atender ao trabalho enfileirado. Cada ciclo de trabalho manipula TODOS os trabalhos enfileirados. Se novos trabalhos chegarem durante um ciclo de trabalho, outro ciclo será agendado. O trabalho nunca executa mais de uma instância do ciclo de trabalho por vez e não consome recursos quando está ocioso. Ele usa TaskScheduler.Current para agendar os ciclos de trabalho.

public abstract class BatchWorker
type BatchWorker = class
Public MustInherit Class BatchWorker
Herança
BatchWorker
Derivado

Construtores

BatchWorker()

Padrão geral para um trabalho assíncrono que executa uma tarefa de trabalho, quando notificado, para atender ao trabalho enfileirado. Cada ciclo de trabalho manipula TODOS os trabalhos enfileirados. Se novos trabalhos chegarem durante um ciclo de trabalho, outro ciclo será agendado. O trabalho nunca executa mais de uma instância do ciclo de trabalho por vez e não consome recursos quando está ocioso. Ele usa TaskScheduler.Current para agendar os ciclos de trabalho.

Campos

lockable

Padrão geral para um trabalho assíncrono que executa uma tarefa de trabalho, quando notificado, para atender ao trabalho enfileirado. Cada ciclo de trabalho manipula TODOS os trabalhos enfileirados. Se novos trabalhos chegarem durante um ciclo de trabalho, outro ciclo será agendado. O trabalho nunca executa mais de uma instância do ciclo de trabalho por vez e não consome recursos quando está ocioso. Ele usa TaskScheduler.Current para agendar os ciclos de trabalho.

Propriedades

CancellationToken

Obtém ou define o cancelamento usado para cancelar esse trabalho em lotes.

Métodos

IsIdle()

Verifique se esse trabalho está ocioso.

Notify()

Notifique o trabalhador de que há mais trabalho.

Notify(DateTime)

Instrui o trabalhador do lote a executar novamente para verificar se há trabalho, se ele ainda não tiver sido executado novamente até lá, em especificado utcTime.

NotifyAndWaitForWorkToBeServiced()

Notifique o trabalhador de que há mais trabalho e aguarde o ciclo de trabalho atual e também o próximo ciclo de trabalho se houver trabalho nãoserviço no momento.

WaitForCurrentWorkToBeServiced()

Aguarde o ciclo de trabalho atual e também o próximo ciclo de trabalho se houver trabalho nãoserviço no momento.

Work()

Implementar esse membro em classes derivadas para definir o que constitui um ciclo de trabalho

Aplica-se a