Gestionar los procesos y las sesiones es esencial para optimizar y supervisar sus aplicaciones 4D. Puede manipular y recuperar fácilmente información crucial sobre estos elementos gracias a diferentes comandos.
Con 4D 20 R7, nos complace anunciar una serie de mejoras que hacen que estas funciones sean aún más accesibles y eficaces. Estas nuevas funcionalidades están diseñadas no sólo para simplificar su trabajo, sino también para aumentar el rendimiento de su código. Las mejoras incluyen:
- La obtención de la información del proceso en un objeto para facilitar la manipulación de las propiedades,
- Permitir el acceso directo a la información de sesión mediante un ID de sesión para facilitar la gestión,
- Facilitar la obtención de un número de proceso directamente a partir de su ID,
- Acceso a la fecha de creación de un proceso
- Filtrado optimizado de los resultados devueltos por el comando Process activity para obtener todos los procesos de una sesión.
Descubra cómo estas actualizaciones pueden transformar su experiencia de desarrollo y mejorar la eficacia de sus aplicaciones.
HDI: Propiedades de procesos, propiedades de sesión y actividad de proceso en acción
Recuperar la información de un proceso o DE una sesión
Nuevo comando Process info
El nuevo comando Process info devuelve un objeto. La ventaja de esta sintaxis radica en su capacidad para recuperar la información en un objeto, lo que facilita su manejo frente al uso de múltiples variables. Por lo tanto, el comando _O_PROCESS PROPERTIES ha quedado obsoleto.
var $process : Object
$process :=Process info($processNumber)
El comando Process info devuelve una nueva propiedad, creationDateTime.. Esta propiedad permite saber cuándo se creó un proceso.
Ejemplo de salida:
{
"number": 4,
"name": "Proceso de solicitud",
"sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
"ID": 4,
"visible": true,
"type": -18,
"state": 0,
"creationDateTime": "2024-09-22T12:46:39.243Z",
"preemptive": false,
"systemID": "123145476132864",
"cpuUsage": 0,
"cpuTime": 0.006769
}
Por ejemplo, para saber si mi proceso es apropiativo:
var $preemptive : Boolean
$preemptive :=Process info($processNumber).preemptive
Nuevo comando Session info
El nuevo comando Session info le permite recuperar la información de una sesión utilizando su sessionID. Esta información ya podía obtenerse con el comando Actividad del proceso. La ventaja de este nuevo comando es que devuelve un objeto simple, ahorrando tiempo y rendimiento.
var $session : Object
$session :=Session info($sessionID)
$session :=Session info(Process info($processNumber).sessionID)
Ejemplo de salida:
{ "ID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5", "userName": "Designer", "machineName": "Mi PC", "systemUserName": "John Doe", "IPAddress": "localhost", "hostType": "mac", "tipo": "remote", "state": "active", "creationDateTime": "2024-09-10T09:55:54Z", "persistentID": "8FFDAE519F1F4DCDB81E8E8DB00AD101" }
Recuperar el número de proceso a partir del ID de proceso
El comando Process number ha sido actualizado. Ahora es posible pasar el ID del proceso para recuperar el número de proceso directamente, además del método anterior de utilizar el nombre del proceso.
var $processNumber : Integer
var $processName : Text
var $processID : Integer
// From process name
$processNumber :=Process number($processName)
// From process ID
$processNumber :=Process number($processID)
Mejoras para el comando Process activity
Filtrar procesos por sesión
El comando Process activity le permite recuperar la lista de procesos y sesiones. Si pasa la opción Processes only o Sessions only, recuperará la lista de procesos o la lista de sesiones. Ahora puede filtrar los resultados de forma más eficaz. Basta con pasar un identificador de sesión para obtener la lista de los procesos vinculados a la sesión.
He aquí las diferentes combinaciones posibles:
// return all sessions and processes
$o:=Process activity()
// return all processes
$o :=Process activity(Processes only)
// return all sessions
$o :=Process activity(Sessions only)
// return the session passed in parameter and all linked processes
$o :=Process activity($sessionID)
// return all processes linked to the session passed in parameter
$o :=Process activity($sessionID; Processes only)
// return the session passed in parameter
$o :=Process activity($sessionID; Sessions only)
Recuperar la fecha de creación de un proceso
La nueva propiedad, creationDateTime, también se ha añadido al objeto Process devuelto por el comando Process activity . Así, se puede recuperar fácilmente la fecha de creación de cualquier proceso.
Ejemplo de resultado:
{
"processes": [
{
"name": "Proceso de aplicación",
"sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
"number": 4,
"ID": 4,
"visible": true,
"systemID": "123145476132864",
"type": -18,
"state": 0,
"cpuUsage": 0,
"cpuTime": 0.006769,
"creationDateTime": "2024-09-22T12:46:39.324Z",
"preemptive": false
}
]
}
Más información
Si desea más información sobre estos interesantes cambios, consulte la documentación actualizada de estos comandos. Estamos impacientes por conocer su opinión, ¡únase a la conversación en nuestro foro!