Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19.8
Get process activity

Get process activity 


 

Get process activity {( opções )} -> Resultado 
Parâmetro Tipo   Descrição
opções  Inteiro longo in Retorna opções
Resultado  Objeto in snapshot dos processos executando ou sessões de usuário (apenas em 4D Server)

O comando Get process activity devolve uma foto instantânea das sessôes dos usuários conectados ou dos processos relacionados que são executados em um momento dado. Este comando devolve todos os processos, incluindo os processos internos que não eram acessíveis pelo comando PROCESS PROPERTIES.

  • Quando executar no servidor, como padrão se omitir o parâmetro opções, Get process activity devolve as listas de sessões usuário e dos processos, como abaixo:
  •  
    {
    "sessions": [
              {
                 "type": "remote",
                 "userName": "Designer",
                 "machineName": "iMac27caroline",
                 "systemUserName": "Caroline Briaud",
                 "IPAddress": "192.168.18.18",
                 "hostType": "mac",
                 "creationDateTime": "2017-09-22T12:46:39Z",
                 "state": "postponed",
                 "ID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5"
               },...
           ],
    "processes": [
              {
                 "name": "Application process",
                 "sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
                 "number": 4,
                 "ID": 4,
                 "visible": true,
                 "systemID": "123145476132864",
                 "type": -18,
                 "state": 0,
                 "cpuUsage": 0,
                 "cpuTime": 0.006769,
                 "preemptive": false,
                 "session": {  
                          "type": "remote",
                          "userName": "Designer",
                          "machineName": "iMac27caroline",
                          "systemUserName": "Caroline Briaud",
                          "IPAddress": "192.168.18.18",
                          "hostType": "mac",
                          "creationDateTime": "2017-09-22T12:46:39Z",
                          "state": "postponed",
                          "ID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5"
                           }
               },...
        ]
    }

     

    Se puder selecionar a lista a devolver ao passar uma das seguintes constantes do tema "Ambiente 4D" no parâmetro opções:
    Constante Tipo Valor Comentário
    Processes only Inteiro longo 1 Retorna apenas a lista de processo
    Sessions only Inteiro longo 2 Retorna apenas a lista de sessão do usuário
  • Quando executar em 4D em modo remoto ou local, Get process activity só devolve a lista de processos (o parâmetro opções é inútil).

A propriedade "sessões" contém uma coleção de objetos descrevendo todas as sessões de usuário rodando no servidor.

Cada objeto de sessão contém as propriedades abaixo:

Nome da propriedadeTipoDescrição
typeText (enum)Tipo de sessão. Valores possíveis: "remote", "storedProcedure", "web", "rest"
userNameTextNome usuário
machineNameTextNome da máquina remota
systemUserNameTextNome de sessão de sistema aberta na máquina remota
IPAddressTextEndereço IP da máquina remota
hostTypeText (enum)Tipo host. Valores possíveis: "windows", "mac", "browser"
creationDateTimeDate ISO 8601Data e hora da conexão da máquina remota
stateText (enum)Estado da sessão. Valores possíveis: "active", "postponed", "sleeping"
IDTextSessão UUID

A propriedad e "processo" contém uma coleção de objetos que descrevem todos os processos em execução no servidor.

Cada objeto processo contém as propriedades abaixo:

 

NomeTipoDescrição
nameTextoNome de processo
sessionIDTextoUUID da sessão
numberLongintNúmero de processo
IDInteiro longoIdentificador único do processo
visibleBooleanoTrue se for visível, do contrário false
systemIDTextoID do processo usuário, processo 4D ou processo spare
typeInteiro longoTipo de processo em execução. Pode utilizar as seguintes constantes do tema "Tipo de processo":
Constante Valor Comentário
HTTP Log flusher -58
Logger process -57
HTTP Listener -56
HTTP Worker pool server -55
SQL Listener -54
SQL Net Session manager -53
SQL Worker pool server -52
DB4D Listener -51
DB4D Mirror -50
DB4D Cron -49
DB4D Worker pool user -48
DB4D Garbage collector -47
DB4D Flush cache -46
DB4D Index builder -45
ServerNet Session manager -44
ServerNet Listener -43
Worker pool spare -42
Worker pool in use -41
Other internal process -40
Main 4D process -39
SOAP process -33
Web server spare process -32
Client manager process -31
Compiler process -29
Monitor process -26
Internal timer process -25
SQL Method execution process -24
MSC process -22
Restore Process -21
Log file process -20
Backup process -19
Internal 4D server process -18
Method editor macro process -17
On exit process -16
Server interface process -15
Execute on client process -14
Web server process -13
Web process on 4D remote -12
Other 4D process -10
External task -9
Event manager -8
Apple event manager -7
Serial Port Manager -6
Indexing process -5
Cache manager -4
Web process with no context -3
Design process -2
Main process -1
None 0
Execute on server process 1
Created from menu command 2
Created from execution dialog 3
Other user process 4
Worker process 5 Processos Worker lançados pelo usuário
stateInteiro longoEstado atual (ver a lista de constantes Estado do processo)
cpuUsageRealPorcentagem de tempo dedicado a este processo (entre 0 e 1)
cpuTimeRealTempo de execução (segundos)
preemptiveBooleanose executar preemptivo,do contrário false
sessionObjectA sessão específica na qual o processo roda. Indefinido se o parâmetro Processes only for passado.
urlTextURL com rota e parâmetros (se houvr) de processos web  (-3) e SOAP (-33) rodando no servidor web. Não retornado para outros tipos de processos.

Exemplo  

Se quiser obter a coleção de todas as sessões de usuário:

  //A ser executado no servidor</p> <p>
 C_OBJECT($o)
 C_LONGINT($i)
 
 $o:=Get process activity //Obtém informações de processo e sessão
 For($i;0;($o.processes.length)-1) //Itera sobre a coleção de "processos"
    $processName:=$o.processes[$i].name
    $userName:=String($o.processes[$i].session.userName// Acesso fácil ao userName
  //usa String porque objeto sessão pode estar indefinido
 End for

 



Ver também 

PROCESS PROPERTIES
WEB Get server info

 
PROPRIEDADES 

Produto: 4D
Tema: Processos
Número 1495

This command can be run in preemptive processesComportamento diferente em modo remoto

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Criado por: 4D v16 R4
Modificado: 4D v16 R5
Modificado: 4D v17 R5

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)