Aller au contenu principal
Version: Next

Get process activity

Get process activity {( options )} -> Résultat

ParamètreTypeDescription
optionsEntier long🡒Options de retour
RésultatObjet🡐Aperçu des process en cours d'exécution et/ou (4D Server uniquement) des sessions utilisateur

Description

La commande Get process activity retourne une vue instantanée des sessions des utilisateurs connectés et/ou des process exécutés à un instant précis. Cette commande retourne tous les process, y compris les process internes qui n'étaient pas accessibles à la commande PROCESS PROPERTIES.

  • Lorsqu'elle est exécutée sur le serveur, par défaut si vous omettez le paramètre options, Get process activity retourne les listes des sessions utilisateur et des process, comme présenté ci-dessous :
{"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"                       }           },...    ]}  

Vous pouvez sélectionner la liste à retourner en passant une des constantes suivantes du thème "Environnement 4D" dans le paramètre options :

ConstanteTypeValeurComment
Processes onlyEntier long1Retourne uniquement la liste des process
Sessions onlyEntier long2Retourne uniquement la liste des sessions utilisateurs
  • Lorsqu'elle est exécutée sur 4D en mode local ou distant, Get process activity retourne uniquement la liste des process (le paramètre options est inutilisé).
Liste des sessions

La propriété "sessions" contient une collection d'objets décrivant toutes les sessions utilisateur en cours sur le serveur.

Chaque objet session contient les propriétés suivantes :

NomTypeDescription
typeTexte (enum)Type de session. Valeurs possibles : "remote", "storedProcedure", "web", "rest"
userNameTexteNom d'utilisateur
machineNameTexteNom de la machine distante
systemUserNameTexteNom de la session système ouverte sur la machine distante
IPAddressTexteAdresse IP de la machine distante
hostTypeTexte (enum)Type d'hôte. Valeurs possibles : "windows", "mac", "browser"
creationDateTimeDate ISO 8601Date et heure de connexion de la machine distante
stateTexte (enum)Statut de la session. Valeurs possibles : "active", "postponed", "sleeping"
IDTexteUUID de la session
persistentIDTextID persistant de la session

Note : Vous pouvez obtenir l'objet du client courant ou de la session de procédure stockée à l'aide de la commande Session.

Liste des process

La propriété "processes" contient une collection d'objets décrivant tous les process en cours sur le serveur.

Chaque objet process contient les propriétés suivantes :

NomTypeDescription
nameTexteNom du process
sessionIDTexteUUID de la session
numberEntier longNuméro du process
IDEntier longID unique du process
visibleBooléenTrue si visible, False sinon
systemIDTexteID du process utilisateur, du process 4D ou du process en attente
typeEntier longType de process en exécution. Vous pouvez utiliser les constantes siuvantes du thème "Type du process" :
ConstanteValeurComment
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 process5Process worker lancé par l’utilisateur
stateEntier longStatut courant (voir la liste de constantes Statut du process)
cpuUsageRéelPourcentage de temps cpu dévolu à ce process (entre 0 et 1)
cpuTimeRéelDurée d'exécution (secondes)
preemptiveBooléenTrue si mode préemptif, False sinon
sessionObjetSession au sein de laquelle le process est exécuté. Valeur Indéfinie si le paramètre Processes only est passé.
urlTexteURL avec chemin et paramètres (le cas échéant) des process web (-3) et SOAP (-33) exécutés sur le serveur web. Non retourné pour les autres types de process.

Exemple

Vous souhaitez obtenir la liste de toutes les sessions utilisateurs :

  //A exécuter sur le serveur
 var $o : Object
 var $i : Integer
 $o:=Get process activity //Lire informations de process et de sessions
 For($i;0;($o.processes.length)-1) //itération de la collection "processes"
    $processName:=$o.processes[$i].name
    $userName:=String($o.processes[$i].session.userName) // Accès facile à userName
  //utiliser Chaine car l'objet session peut être non défini
 End for

Voir aussi

PROCESS PROPERTIES
Session storage by ID
WEB Get server info