Servidores de lote e processamento em lotes

Concluído

A estrutura em lote fornece um ambiente de processamento em lote assíncrono baseado em servidor que pode processar tarefas em várias instâncias do Application Object Server (AOS). AOS é a interface entre o aplicativo cliente, como um navegador, e o banco de dados de aplicativos de finanças e operações.

Além da possibilidade de criar trabalhos em lotes com alertas e recorrências, você pode usar o processamento em lotes baseado em servidor para processar tarefas em várias instâncias do AOS. O processamento em lotes baseado em servidor oferece muitas vantagens. É possível adicionar dependências complexas entre tarefas em lotes ou entre tarefas. Você também pode executar tarefas em etapas seriais ou paralelas, conforme as necessidades da empresa. É importante lembrar que, se não tiver dependências, uma tarefa será considerada paralela.

O gráfico a seguir é um exemplo de um trabalho que tem diversas tarefas e dependências de tarefas. Nesse cenário, há sete tarefas que fazem parte de um trabalho. O gráfico mostra como as tarefas são concluídas dependendo do resultado das tarefas dependentes:

Diagrama de um exemplo de um trabalho mostrando as sete tarefas e as dependências de tarefas.

Vamos nos familiarizar com os seguintes aspectos da estrutura em lotes:

  • Um trabalho em lotes consiste em uma ou mais tarefas em lotes.

  • Uma tarefa em lotes é uma atividade executada por um trabalho em lotes. É possível adicionar tarefas em lotes que tenham vários tipos de dependências a um trabalho em lotes. Também é possível configurar instâncias do AOS para executar vários threads, cada um deles executando uma tarefa. Todas as tarefas em lote aguardando para serem executadas podem ser realizadas por qualquer instância do AOS disponível configurada como um servidor de lote. Para melhorar a taxa de transferência e reduzir o tempo de execução geral, é possível definir um trabalho em lotes como muitas tarefas e, depois, usar um servidor de lote para executar as tarefas em todas as instâncias do AOS disponíveis.

  • Um grupo de lotes é um atributo de uma tarefa em lotes. Um grupo de lotes permite ao administrador determinar ou especificar qual instância do AOS executa a tarefa. Quando você cria uma nova tarefa, ela é colocada no grupo de lotes padrão. Todos os servidores de lote são configurados para processar o grupo de lotes padrão e as tarefas em espera de qualquer trabalho.

Planejamento de topologia de servidor em lote

A capacidade de um servidor de lote se baseia no número máximo de threads que podem ser executados simultaneamente na instância do AOS. Cada thread executa uma tarefa em lotes. É possível adicionar dependências complexas entre ou dentre tarefas. É possível executar essas tarefas em etapas seriais ou paralelas, dependendo da lógica comercial e dos requisitos. Todas as tarefas que não têm dependências são consideradas paralelas. As instâncias do AOS configuradas como servidores de lote verificam periodicamente se há tarefas aguardando para serem processadas. O servidor de lote atribui cada tarefa paralela a um thread e começa a processá-lo.

É possível executar vários threads em várias instâncias do AOS. Cada instância do AOS executa automaticamente vários threads, dependendo da capacidade definida nas definições de configuração. Por isso, as tarefas paralelas de um trabalho podem ser executadas em vários threads em várias instâncias do AOS.

Um servidor de lote verifica se há threads disponíveis uma vez por minuto. Por isso, talvez você precise aguardar um minuto até ver que uma tarefa em espera foi separada para processamento por um thread disponível.

Planejamento de gerenciamento de servidor em lote

Todos os servidores de lote podem ser gerenciados em um único local. Um uso típico de servidores de lote é para balancear a carga de trabalhos entre vários servidores. É possível definir o número de threads que o servidor de lote vai processar.

Como os servidores de lote também são instâncias do AOS ativas que atendem a solicitações dos clientes de aplicativos de finanças e operações e de outros componentes associados, você deve determinar cuidadosamente quando uma instância do AOS deve estar disponível para lotes de processos.

Agendamento de lotes com base na prioridade

Você pode eliminar o processo de atribuição de trabalhos em lotes a servidores em lotes ativando o recurso de Agendamento de lotes baseado em prioridade no espaço de trabalho Gerenciamento de recursos. O agendamento de lotes baseado em prioridade permite definir prioridades para grupos de lotes separando os grupos de lotes do servidor de lotes. As prioridades relativas de agendamento determinadas pelos requisitos de negócios são usadas para determinar a sequência em que as tarefas são executadas. Para declarar prioridades relativas e determinar a ordem de processamento de tarefas e processos de negócios, é possível usar as classificações de prioridade de planejamento.

Os valores disponíveis para prioridade de agendamento são:

  • Baixa
  • Normal
  • Alta
  • Crítica
  • Capacidade reservada

Quando o recurso está habilitado, Normal é o default-value e é aplicado a todos os grupos de lotes existentes. A capacidade reservada representa a prioridade mais alta. Para definir o nível de capacidade reservada do lote, navegue até Administração do sistema>Configuração>Parâmetros do sistema e selecione a guia Configurações globais em lote. Habilitando o Agendamento em lotes baseado em prioridade, as prioridades são introduzidas até o nível do trabalho em lote, os trabalhos em lote não ficam vinculados a um servidor específico e são um pré-requisito para manutenção com tempo de inatividade próximo de zero.