Buscando as threads abertas com a GetUserInfoArray – Maratona AdvPL e TL++ 293

Nesse vídeo demonstraremos a utilização da função GetUserInfoArray, que serve para buscar as threads (conexões) abertas no AppServer.

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe293
Busca as informações das threads abertas no slave onde esta rodando a aplicação
@type  Function
@author Atilio
@since 21/02/2023
@see https://tdn.totvs.com/display/tec/GetUserInfoArray
@obs 

    Função GetUserInfoArray
    Parâmetros
        + lShowMoreInfo     , Lógico        , Se .T. retorna mais informações (apenas para 4GL)
    Retorno
        + aRet              , Array         , Array com as informações

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe293()
    Local aArea      := FWGetArea()
    Local aThreads   := {}
    Local nConexAtu  := 1
    Local cMensagem  := ""
     
    //Pega todos os usuários conectados
    aThreads := GetUserInfoArray()
     
    //Percorre todas as conexões
    For nConexAtu := 1 To Len(aThreads)
        cMensagem += "Conexão #" + StrZero(nConexAtu, 4) + "|"
        cMensagem += "Usuario     '" + Alltrim(aThreads[nConexAtu][1])    + "', " 
        cMensagem += "Server      '" + aThreads[nConexAtu][4]             + "', " 
        cMensagem += "Thread      '" + cValToChar(aThreads[nConexAtu][3]) + "', " 
        cMensagem += "Tempo Total '" + aThreads[nConexAtu][8]             + "' "
        cMensagem += CRLF
    Next

    //Mostra a mensagem
    ShowLog(cMensagem)

    FWRestArea(aArea)
Return

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação