Show Menu
TÓPICOS×

Gerenciador de trabalho e limitação

Formulários AEM (e versões anteriores) usavam filas JMS para executar operações de forma assíncrona. Em formulários AEM, as filas JMS foram substituídas pelo Gerenciador de trabalho. Este documento fornece informações de plano de fundo sobre o Work Manager e fornece instruções sobre como configurar as opções de limitação do Work Manager.

Sobre operações de longa duração (assíncronas)

Em formulários AEM, as operações executadas por serviços podem ter vida curta (síncrona) ou longa (assíncrona). Operações de curta duração concluídas sincronicamente no mesmo thread a partir do qual foram chamadas. Essas operações aguardam uma resposta antes de continuar.
Operações de longa duração podem estender-se por sistemas ou até mesmo estender-se além da organização, como quando um cliente precisa preencher e enviar um formulário de solicitação de empréstimo como parte de uma solução maior que integra várias tarefas automáticas e humanas. Essas operações devem prosseguir enquanto se aguarda uma resposta. As operações de longa duração executam o seu trabalho subjacente de forma assíncrona, permitindo que os recursos sejam utilizados de outra forma enquanto aguardam a sua conclusão. Ao contrário de uma operação de duração curta, o Gerente de Trabalho não considera uma operação de longa duração concluída depois de chamada. Um acionador externo, como um sistema que solicita outra operação no mesmo serviço ou um usuário que envia um formulário, deve ocorrer para concluir a operação.

Sobre o Work Manager

Formulários AEM (e versões anteriores) usavam filas JMS para executar operações de forma assíncrona. Os formulários AEM usam o Gerenciador de trabalho para programar e executar operações assíncronas por meio de threads gerenciados.
As operações assíncronas são tratadas desta maneira:
  1. O Gerenciador de trabalho recebe um item de trabalho para execução.
  2. O Work Manager armazena o item de trabalho em uma tabela de banco de dados e atribui um identificador exclusivo ao item de trabalho. O registro do banco de dados contém todas as informações necessárias para executar o item de trabalho.
  3. O Gerenciador de trabalho encadea itens de trabalho quando os encadeamentos se tornam gratuitos. Antes de extrair os itens de trabalho, os threads podem verificar se os serviços necessários foram iniciados, se há tamanho de heap suficiente para extrair o próximo item de trabalho e se há ciclos de CPU suficientes para processar o item de trabalho. O Work Manager também avalia os atributos do item de trabalho (como sua prioridade) ao programar sua execução.
Os administradores de formulários AEM podem usar o Monitor de integridade para verificar as estatísticas do Gerenciador de trabalho, como o número de itens de trabalho na fila e seus status. Você também pode usar o Monitor de integridade para pausar, retomar, tentar novamente ou excluir itens de trabalho. (Consulte Exibir estatísticas relacionadas ao Gerenciador de trabalho.)

Configuração das opções de limitação do Gerenciador de Trabalho

Você pode configurar a limitação para o Gerenciador de trabalho, para que os itens de trabalho sejam agendados somente quando houver recursos de memória suficientes disponíveis. Você configura a limitação definindo as seguintes opções de JVM no servidor de aplicativos.
Propriedade
Descrição
 adobe.work-manager.queue-refill-interval
Especifica o intervalo de tempo, em milissegundos, que o Gerente de Trabalho usa ao verificar se há novos itens em sua fila.
O valor dessa opção é um número inteiro. O valor padrão é 1000 milissegundos (1 segundo).
Se o volume de invocações assíncronas for baixo, você poderá aumentar esse valor. Por exemplo, você pode aumentá-lo para algo entre 2000 e 5000 (2 a 5 segundos).
Se o volume de invocações assíncronas for alto, o valor padrão deverá ser suficiente, mas você poderá usar um valor menor, se necessário. Diminuir esse valor demais (por exemplo, abaixo de 50, o que resulta em uma frequência de pesquisa de 20 vezes por segundo) causa uma sobrecarga substancial no sistema.
 adobe.workmanager.debug-mode-enabled
Defina essa opção para ativar true o modo de depuração ou para falso para desativá-lo.
No modo de depuração, as mensagens referentes a violações da política do Gerenciador de Trabalho e ações de pausa/retomada do Gerenciador de Trabalho são registradas em log. Defina essa opção como true somente ao solucionar problemas.
 adobe.workmanager.memory-control.enabled
Defina essa opção para ativar true a regulagem com base nas configurações de controle de memória descritas abaixo ou para desativar false a regulagem.
 adobe.workmanager.memory-control.high-limit
Especifica a porcentagem máxima de memória que pode estar em uso antes que o Gerenciador de Trabalho controle as tarefas recebidas.
O valor padrão para essa opção é 95 . Esse valor deve ser bom para a maioria dos sistemas. Aumente-o somente se o sistema precisar fazer o upload para sua capacidade máxima. Mas observe que à medida que você aumenta esse valor, o risco de problemas de Memória esgotada também aumenta.
Se você estiver executando formulários AEM em um ambiente clusterizado, talvez você queira definir as configurações de limite de controle de memória de forma diferente em nós diferentes do cluster. Por exemplo, você pode ter um limite alto mais baixo nos nós A e B, que são programados em seu balanceador de carga para trabalho interativo. E você pode ter limites altos mais altos definidos nos nós C e D, que não são usados pelo balanceador de carga, mas reservados para o trabalho assíncrono.
 adobe.workmanager.memory-control.low-limit
Especifica a porcentagem máxima de memória que pode estar em uso antes que o Gerenciador de Trabalho pare de restringir trabalhos de entrada.
O valor padrão para essa opção é 20 . Esse valor deve ser bom para a maioria dos sistemas.
Dadobe.workmanager.allocate.max-batch-size
Especifica o tamanho máximo do lote para o gerenciador de trabalho. O tamanho padrão do lote é 10.
Se o status de um processo no gerenciador de trabalho não for atualizado mesmo após a conclusão da tarefa, defina o tamanho do lote como 1.
Adicionar opções Java a JBoss
  1. Pare o servidor de aplicativos JBoss.
  2. Abra o #/bin/run.bat (Windows) ou run.sh (Linux ou UNIX) em um editor e adicione qualquer uma das opções Java, conforme necessário, no formato -Dproperty=value .
  3. Reinicie o servidor.
Adicionar opções Java ao WebLogic
  1. Inicie o Console de administração do WebLogic digitando a https:// #​do nome : #/console em um navegador da Web.
  2. Digite o nome de usuário e a senha que você criou para o domínio do WebLogic Server e clique em Registrar em Centro de alterações e clique em Bloquear e editar.
  3. Em Estrutura do domínio, clique em Ambiente > Servidores e, no painel direito, clique no nome do servidor gerenciado.
  4. Na tela seguinte, clique na guia Configuração > Guia Início do servidor.
  5. Na caixa Argumentos, anexe os argumentos necessários ao final do conteúdo atual. Por exemplo, para desativar o Monitor de integridade, adicione:
    -Dadobe.healthmonitor.enabled=false desativa o Monitor de integridade.
  6. Clique em Salvar e em Ativar alterações.
  7. Reinicie o servidor gerenciado WebLogic.
Adicionar opções Java ao WebSphere
  1. Na árvore de navegação do Console administrativo do WebSphere, clique em Servidores > Tipos de servidor > servidores de aplicativos do WebSphere.
  2. No painel direito, clique no nome do servidor.
  3. Em Infraestrutura do servidor, clique em Java e fluxo de trabalho dos formulários > Definição do processo.
  4. Em Propriedades adicionais, clique em Java Virtual Machine.
  5. Na caixa Argumentos JVM genéricos, digite os argumentos necessários.
  6. Clique em OK ou Aplicar e em Salvar diretamente na configuração mestre.