[z/OS]

Rejeitando Automaticamente Pedidos de Trabalho quando nenhum Servant Está Disponível para Processar esses Pedidos

Quando um controlador determina que um servidor foi encerrado, o controlador normalmente limpa qualquer outro pedido de trabalho despachado nesse servidor. Se esse servidor for o último, novos pedidos de trabalho serão colocados na fila de pedidos, até que um servidor esteja disponível. Dependendo de quanto tempo leve para um servidor se tornar disponível, esses pedidos podem ser encerrados porque o tempo permitido para processar um pedido expirou. Para evitar que isso aconteça, você pode alterar as definições de configuração para um servidor de aplicativos, a fim de impedir que o controlador aceite novos pedidos.

Sobre Esta Tarefa

Controladores recebem pedidos de aplicativo de maneira contínua e os despacham para um servidor para processamento. Quando um problema de nível de sistema, como um erro do banco de dados, ocorre, o processamento de pedido pára e os pedidos são empilhados nas filas entre o controlador e os servidores. Durante o tempo que leva para um servidor se tornar disponível, os pedidos continuam a ser empilhados nas filas, até que atinjam o tempo limite. Quando ocorre um tempo limite, o pedido que atingiu o tempo limite é removido da fila.

Quando um novo servidor está pronto para iniciar a aceitação de pedidos, o próximo pedido na fila pode estar tão próximo do tempo limite que o processo de dispatch para o pedido não pode ser concluído e o servidor é novamente encerrado pelo processamento do tempo limite. Novamente, os pedidos se acumulam na fila, até que um outro servidor novo esteja pronto e potencialmente o mesmo problema de tempo limite ocorre. Quando esse problema continua ocorrendo novamente, ele é às vezes mencionado como um problema de bouncing servant. Você pode tratar desse problema de uma das seguintes maneiras:

  • Você pode configurar o servidor para detectar automaticamente uma situação de não servidor e parar de aceitar pedidos, até que o número mínimo configurado de servidores esteja pronto para aceitar trabalho. Essa é a abordagem mais simples.
  • Você pode criar uma rotina de automação para tratar desse problema, se puder detectar que está tendo um problema de sistema antes de os servidores serem encerrados devido a tempos limite. Essa rotina de automação pode emitir o comando f server, pauselisteners para evitar que pedidos sejam aceitos por esse servidor. A rotina deverá então detectar quando as circunstâncias mudarem e emitir o comando f server, resumelisteners quando o problema de sistema detectado estiver resolvido.
  • Você pode configurar o servidor para detectar uma condição de não servidor e parar de aceitar pedidos, além de criar a rotina de automação abordada anteriormente. A rotina de automação deve reconhecer o processamento diferente que pode acontecer devido ao servidor estar configurado para detectar uma condição de não servidor:
    • Se o último servidor for encerrado, mesmo que o comando f server, pauselisteners seja emitido, o servidor inicia a rejeição de todos os pedidos e emite a mensagem BBOO0299I. O servidor inicia automaticamente, para aceitar pedidos quando o número mínimo de servidores, para os quais o servidor é configurado, está pronto para aceitar trabalho. Ele também emite a mensagem BBOO0300I, para indicar que pedidos estão novamente sendo processados. Portanto, a rotina de automação deve ser sensível ao fato de que o servidor pode ter retomado a aceitação de pedidos logo que detectar que o número mínimo de servidores está disponível.
    • Se a propriedade customizada control_region_confirm_recovery_on_no_srs for especificada para o servidor, o servidor emite a mensagem BBOO0297A de WTOR após detectar que o número mínimo de servidores, para o qual o servidor está configurado, está pronto para processar novos pedidos. Você deve digitar uma resposta para essa mensagem antes que o servidor efetivamente inicie a aceitação de trabalho.
    • Se a rotina de automação impede que o servidor encerre os servidores devido ao processamento de tempo limite, ela também deve reconhecer quando é seguro para o servidor retomar a aceitação de pedidos e emitir o comando f server, resumelisteners naquele momento. A rotina de automação pode ser configurada para determinar se precisa ou não emitir o comando f server, resumelisteners com base na emissão ou não da mensagem BBOO0299I. Essa mensagem indica que o servidor ficou sem servidores e está rejeitando pedidos. Essa abordagem é a mais complexa, mas fornece maior flexibilidade.

Execute as etapas a seguir se quiser configurar o servidor para manipular as condições de não servidor.

Procedimento

  1. No console administrativo, clique em Servidores > Tipos de Servidor > Servidores de Aplicativos do WebSphere, e selecione o servidor de aplicativos que deseja que detecte automaticamente condições de não servidor.
  2. Em Propriedades Adicionais, clique em Propriedades Customizadas > Novo.
  3. Especifique control_region_dreg_on_no_srs no campo de Nome e 1 no campo Valor. Quando essa propriedade customizada for configurada como 1, o servidor rejeita todos os pedidos etiquetados para dispatch quando ele detecta que não há nenhum servidor pronto para processar os pedidos. Configurar essa propriedade como 0 (zero) desliga essa função.
  4. Especifique control_region_confirm_recovery_on_no_srs no campo de Nome e 0 (zero) ou 1 no campo Valor. Se você digitar 0 no campo Valor, o controlador retoma a aceitação de pedidos assim que o número mínimo de servidores está pronto para receber pedidos. Se você digitar 1 no campo de Valor, o controlador emite a mensagem BBOO0297A de WTOR assim que detecta que o número mínimo de servidores para o qual o servidor está configurado está pronto para aceitar trabalho. O servidor aguarda até receber uma resposta a essa mensagem antes de realmente retomar a aceitação de pedidos.
  5. Clique em Revisar, selecione Sincronizar Alterações com Nós e clique em Salvar para atualizar o repositório principal com as suas alterações.

Resultados

Quando um controlador determina que um servidor foi encerrado e que o servidor é o último servidor, o controlador não aceita novos pedidos de trabalho até o número mínimo de servidores estarem disponíveis para receber pedidos.

Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_auto_noservant
Nome do arquivo: trun_auto_noservant.html