Ao tentar compilar código no Protheus, você pode se deparar com a mensagem de que a compilação não pode prosseguir devido a usuários conectados. A chave buildKillUsers, na seção [general] do AppServer.ini, controla esse comportamento.

O que é a chave buildKillUsers

A chave buildKillUsers determina se o Application Server permitirá a compilação de código enquanto houver conexões ativas com a instância. Seu objetivo é facilitar o processo de compilação, especialmente em cenários com Working Threads, como Web Services em AdvPL, onde compilações anteriores exigiam a reinicialização completa do Application Server.

Valores e efeito

  • 0 (Padrão): Não inicia a compilação se houver conexões abertas com a instância atual do Application Server.
  • 1: Derruba todas as conexões abertas com a instância atual do Application Server para permitir a compilação.

Exemplo de configuração

[general]
buildKillUsers=1

Armadilhas

Ao habilitar buildKillUsers=1, é crucial entender que todos os processos conectados à instância do Application Server serão encerrados, mesmo que não pertençam ao ambiente que você está compilando. Isso pode causar interrupções inesperadas para outros usuários ou serviços.

Há relatos de instabilidade e queda do Application Server durante a compilação, especificamente em ambientes Linux que utilizam Web Services e com a flag buildKillUsers habilitada. Esses problemas foram associados a falhas de conexão com o License Server e foram corrigidos em builds posteriores (iguais ou superiores a 13.1.3.28 e 13.2.3.28).

Fontes oficiais

Paginas publicadas pela TOTVS na Developer Network.