Saltar al contenido principal
Versión: Siguiente

Get process activity

Get process activity {( opciones )} -> Resultado

ParámetroTipoDescripción
opcionesEntero largo🡒Opciones a devolver
ResultadoObjeto🡐Instantánea de los procesos en ejecución y/o (4D Server únicamente) de las sesiones de usuario

Descripción

El comando Get process activity devuelve una instantánea de las sesiones de los usuarios conectados y/o de los procesos relacionados que se ejecutan en un momento dado. Este comando devuelve todos los procesos, incluyendo los procesos internos que no eran accesibles por el comando PROCESS PROPERTIES.

  • Cuando se ejecuta en el servidor, por defecto si omite el parámetro opciones, Get process activity devuelve las listas de sesiones usuario y de los procesos, como se muestra a continuación:
{"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 puede seleccionar la lista a devolver al pasar una de las siguientes constantes del tema "Entorno 4D" en el parámetro opciones:

ConstanteTipoValorComentario
Processes onlyEntero largo1Devuelve sólo la lista de procesos
Sessions onlyEntero largo2Devuelve sólo la lista de sesión de usuario
  • Cuando se ejecuta en 4D en modo remoto o local, Get process activity sólo devuelve la lista de procesos (el parámetro opciones es inútil).
Sesiones

La propiedad "sessions" contiene una colección de objetos que describen todas las sesiones usuario en ejecución en el servidor, por ejemplo:

{    "sessions": [        {            "type": "remote",            "hostType": "mac",            "userName": "Designer",            "machineName": "YANNICK-CORE-I7",            "systemUserName": "Yannick",            "IPAddress": "fe80::c189:5ea1:c635:90e6",            "creationDateTime": "2017-04-24T17:13:15Z",            "state": "postponed",            "ID": "63DCD177059C60459F2AD278EAD84B4B"         },        ...    ],...}

Cada objeto sesión contiene las propiedades siguientes (cuando no están disponibles, las propiedades no se devuelven):

Nombre de la propiedadTipoDescripción
typeTexto (enum)Tipo de sesión. Valores posibles: "remote", "storedProcedure", "web", "rest"
hostTypeTexto (enum)Tipo de host. Valores posibles: "windows", "mac", "browser"
userNameTextoNombre de usuario
machineNameTextoNombre de la máquina remota
systemUserNameTextoNombre de la sesión del sistema abierta en la máquina remota
IPAddressTextoDirección IP de la máquina remota
hostTypeTexto (enum)Tipo local. Valores posibles: "windows", "mac", "browser"
creationDateTimeDate ISO 8601Fecha y hora de la conexión del equipo remoto
stateTexto (enum)Estado de las sesión. Valores posibles: "active", "postponed", "sleeping"
IDTextoUUID de la sesión
persistentIDTextoID persistente de la sesión

Nota: puede obtener el objeto de la sesión actual del cliente o del procedimiento almacenado utilizando el comando Session.

Proceso

La propiedad "proceso" contiene una colección de objetos que describen todos los procesos en ejecución en el servidor.

Cada objeto de proceso contiene las siguientes propiedades:

Nombre de la propiedadTipoDescripción
nameTextoNombre del proceso
sessionIDTextoUUID de la sesión
numberEntero largoNúmero del proceso
IDEntero largoIdentificador único del proceso
visibleBooleanoTrue si es visible, de lo contrario false
systemIDTextoID para el proceso usuario, proceso 4D o proceso de repuesto
typeEntero largoTipo de proceso en ejecución. Puede utilizar las siguientes constantes del tema "Tipo de proceso":
ConstanteValorComentario
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
None0
Execute on server process1
Created from menu command2
Created from execution dialog3
Other user process4
Worker process5Procesos Worker lanzado por el usuario
stateEntero largoEstado actual (ver la lista de constantes Estado del proceso)
cpuTimeRealTiempo de ejecución (segundos)
cpuUsageRealPorcentaje de tiempo dedicado a este proceso (entre 0 y 1)
preemptiveBooleanosi ejecuta apropiativo,de lo contrario false
sessionObjetoLa sesión específica en la que se está ejecutando el proceso. No definido si se pasa el parámetro Processes only.
urlTextoURL con ruta y parámetros (si los hay) de los procesos web (-3) y SOAP (-33) que se ejecutan en el servidor web. No devuelto para otros tipos de procesos.

Ejemplo

Usted quiere obtener la colección de todas las sesiones de usuario:

  //A ser ejecutado en el servidor
 
 var $o : Object
 var $i : Integer
 
 $o:=Get process activity //Obtenga información sobre el proceso y la sesión
 For($i;0;($o.processes.length)-1) //Iterar sobre la colección "procesos"
    $processName:=$o.processes[$i].name
    $userName:=String($o.processes[$i].session.userName) // Acceso fácil a userName
  //utilizar String porque el objeto de la sesión podría estar indefinido
 End for

Ver también

PROCESS PROPERTIES
Session storage by ID
WEB Get server info