La gestione dei processi e delle sessioni è essenziale per ottimizzare e monitorare le applicazioni 4D. È possibile manipolare e recuperare facilmente informazioni cruciali su questi elementi grazie a diversi comandi.
Con 4D 20 R7, siamo lieti di annunciare una serie di miglioramenti che rendono queste funzioni ancora più accessibili ed efficaci. Queste nuove caratteristiche sono state pensate non solo per semplificare il vostro lavoro, ma anche per aumentare le prestazioni del vostro codice. I miglioramenti includono:
- Ottenere le informazioni sul processo in un oggetto per facilitare la manipolazione delle proprietà,
- Accesso diretto alle informazioni di sessione tramite un ID di sessione per una gestione più semplice,
- Facilitazione dell’ottenimento del numero di un processo direttamente dal suo ID,
- Accesso alla data di creazione di un processo
- Ottimizzazione del filtraggio dei risultati restituiti dal comando Process activity per ottenere tutti i processi di una sessione.
Scoprite come questi aggiornamenti possono trasformare la vostra esperienza di sviluppo e migliorare l’efficienza delle vostre applicazioni!
HDI: proprietà del processo, proprietà della sessione e attività del processo in azione
Recuperare le informazioni di un processo o di una sessione
Nuovo comando Info processo
Il nuovo comando Process info restituisce un oggetto. Il vantaggio di questa sintassi è la capacità di recuperare le informazioni in un oggetto, rendendole più facili da gestire rispetto all’uso di più variabili. Pertanto, il comando _O_PROCESS PROPERTIES è stato deprecato.
var $process : Object
$process :=Process info($processNumber)
Il comando Process info restituisce una nuova proprietà, creationDateTime. Questa proprietà consente di sapere quando è stato creato un processo.
Esempio di output:
{
"number": 4,
"name": "Processo di applicazione",
"sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
"ID": 4,
"visibile": true,
"tipo": -18,
"stato": 0,
"creationDateTime": "2024-09-22T12:46:39.243Z",
"preemptive": false,
"systemID": "123145476132864",
"cpuUsage": 0,
"cpuTime": 0.006769
}
Ad esempio, per sapere se il mio processo è preemptive:
var $preemptive : Boolean
$preemptive :=Process info($processNumber).preemptive
Nuovo comando Session info
Il nuovo comando Session info consente di recuperare le informazioni di una sessione utilizzando il suo ID sessione. È già possibile recuperare queste informazioni con il comando Process activity. Il vantaggio di questo nuovo comando è che restituisce un semplice oggetto, risparmiando tempo e prestazioni.
var $session : Object
$session :=Session info($sessionID)
$session :=Session info(Process info($processNumber).sessionID)
Esempio di output:
{ "ID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5", "userName": "Designer", "machineName": "Mio computer", "systemUserName": "John Doe", "indirizzo IPA": "localhost", "hostType": "mac", "tipo": "remote", "state": "active", "creationDateTime": "2024-09-10T09:55:54Z", "persistentID": "8FFDAE519F1F4DCDB81E8E8DB00AD101" }
Recuperare il numero del processo dall’ID del processo
Il comando Process number è stato aggiornato. È ora possibile passare l’ID del processo per recuperare direttamente il numero del processo, oltre al metodo precedente che utilizzava il nome del processo.
var $processNumber : Integer
var $processName : Text
var $processID : Integer
// From process name
$processNumber :=Process number($processName)
// From process ID
$processNumber :=Process number($processID)
Miglioramenti per il comando Attività di processo
Filtrare i processi per sessione
Il comando Process activity consente di recuperare l’elenco dei processi e delle sessioni. Se si passa l’ opzione Processes only o Sessions only, si recupera l’elenco dei processi o l’elenco delle sessioni. Oraè possibile filtrare i risultati in modo più efficiente. È sufficiente passare un ID di sessione per recuperare l’elenco dei processi collegati alla sessione.
Ecco le diverse combinazioni possibili:
// 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)
Recuperare la data di creazione di un processo
La nuova proprietà, creationDateTime, è stata aggiunta anche all’oggetto Process restituito dal comando Process activity . In questo modo, è possibile recuperare facilmente la data di creazione di qualsiasi processo.
Esempio di output:
{
"processi": [
{
"nome": "Processo di applicazione",
"sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
"numero": 4,
"ID": 4,
"visibile": true,
"systemID": "123145476132864",
"tipo": -18,
"stato": 0,
"cpuUsage": 0,
"cpuTime": 0.006769,
"creationDateTime": "2024-09-22T12:46:39.324Z",
"preemptive": false
}
]
}
Approfondimento
Per maggiori dettagli su queste interessanti modifiche, consultate la documentazione aggiornata su questi comandi. Non vediamo l’ora di sentire le vostre opinioni, partecipate alla conversazione sul nostro forum!