Miglioramenti interessanti per la gestione dei processi e delle sessioni

Tradotto automaticamente da Deepl

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!

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.