Get process activity
Get process activity {( opciones )} -> Resultado
Parámetro | Tipo | Descripción | |
---|---|---|---|
opciones | Entero largo | 🡒 | Opciones a devolver |
Resultado | Objeto | 🡐 | 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:
Constante | Tipo | Valor | Comentario |
---|---|---|---|
Processes only | Entero largo | 1 | Devuelve sólo la lista de procesos |
Sessions only | Entero largo | 2 | Devuelve 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 propiedad | Tipo | Descripción |
---|---|---|
type | Texto (enum) | Tipo de sesión. Valores posibles: "remote", "storedProcedure", "web", "rest" |
hostType | Texto (enum) | Tipo de host. Valores posibles: "windows", "mac", "browser" |
userName | Texto | Nombre de usuario |
machineName | Texto | Nombre de la máquina remota |
systemUserName | Texto | Nombre de la sesión del sistema abierta en la máquina remota |
IPAddress | Texto | Dirección IP de la máquina remota |
hostType | Texto (enum) | Tipo local. Valores posibles: "windows", "mac", "browser" |
creationDateTime | Date ISO 8601 | Fecha y hora de la conexión del equipo remoto |
state | Texto (enum) | Estado de las sesión. Valores posibles: "active", "postponed", "sleeping" |
ID | Texto | UUID de la sesión |
persistentID | Texto | ID 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 propiedad | Tipo | Descripción | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
name | Texto | Nombre del proceso | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sessionID | Texto | UUID de la sesión | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
number | Entero largo | Número del proceso | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ID | Entero largo | Identificador único del proceso | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
visible | Booleano | True si es visible, de lo contrario false | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
systemID | Texto | ID para el proceso usuario, proceso 4D o proceso de repuesto | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
type | Entero largo | Tipo de proceso en ejecución. Puede utilizar las siguientes constantes del tema "Tipo de proceso":
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
state | Entero largo | Estado actual (ver la lista de constantes Estado del proceso) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cpuTime | Real | Tiempo de ejecución (segundos) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
cpuUsage | Real | Porcentaje de tiempo dedicado a este proceso (entre 0 y 1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
preemptive | Booleano | si ejecuta apropiativo,de lo contrario false | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
session | Objeto | La sesión específica en la que se está ejecutando el proceso. No definido si se pasa el parámetro Processes only. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
url | Texto | URL 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