Spannende Erweiterungen für die Verwaltung von Prozessen und Sitzungen

Die Verwaltung von Prozessen und Sitzungen ist für die Optimierung und Überwachung Ihrer 4D Anwendungen unerlässlich. Mit Hilfe verschiedener Befehle können Sie wichtige Informationen über diese Elemente einfach bearbeiten und abrufen.

Wir freuen uns, mit 4D 20 R7 eine Reihe von Verbesserungen ankündigen zu können, die diese Funktionen noch zugänglicher und effektiver machen. Diese neuen Features sollen nicht nur Ihre Arbeit vereinfachen, sondern auch die Leistung Ihres Codes steigern. Zu den Verbesserungen gehören:

  • Abrufen der Prozessinformationen in einem Objekt, um die Manipulation der Eigenschaften zu erleichtern,
  • Ermöglichung des direkten Zugriffs auf Sitzungsinformationen über eine Sitzungs-ID zur einfacheren Verwaltung,
  • Erleichterung des Abrufs einer Prozessnummer direkt aus der ID,
  • Zugriff auf das Erstellungsdatum eines Prozesses
  • Optimierte Filterung der Ergebnisse, die von dem Process activity Befehls zurückgegebenen Ergebnisse, um alle Prozesse in einer Sitzung zu erhalten.

 

Finden Sie heraus, wie diese Updates Ihre Entwicklungserfahrung verändern und die Effizienz Ihrer Anwendungen verbessern können!

HDI: Prozesseigenschaften, Sitzungseigenschaften und Prozessaktivität in Aktion

Abrufen von Informationen zu einem Prozess oder einer Sitzung

Neuer Befehl Prozessinfo

Der neue Process info Befehl gibt ein Objekt zurück. Der Vorteil dieser Syntax liegt in der Möglichkeit, die Informationen in einem Objekt abzurufen, wodurch sie einfacher zu handhaben sind als bei der Verwendung mehrerer Variablen. Der Befehl _O_PROCESS PROPERTIES ist daher veraltet.

var $process : Object
$process :=Process info($processNumber)

Der Befehl Process info Befehl gibt eine neue Eigenschaft zurück, creationDateTime.. Mit dieser Eigenschaft können Sie herausfinden, wann ein Prozess erstellt wurde.

Beispielhafte Ausgabe:

{
    "Nummer": 4,
    "name": "Anwendungsprozess",
    "sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
    "ID": 4,
    "sichtbar": wahr,
    "type": -18,
    "state": 0,
    "creationDateTime": "2024-09-22T12:46:39.243Z",
    "preemptiv": false,
    "systemID": "123145476132864",
    "cpuUsage": 0,
    "cpuTime": 0.006769
}

Zum Beispiel, um zu wissen, ob mein Prozess präemptiv ist:

var $preemptive : Boolean
$preemptive :=Process info($processNumber).preemptive

Neuer Befehl Session info

Der neue Session info Befehl ermöglicht es Ihnen, die Informationen einer Sitzung anhand ihrer SessionID abzurufen. Sie konnten diese Informationen bereits mit dem Befehl Process activity abrufen. Der Vorteil dieses neuen Befehls ist, dass er ein einfaches Objekt zurückgibt, was Zeit und Leistung spart.

var $session Object
$session :=Session info($sessionID)
$session :=Session info(Process info($processNumber).sessionID)

Beispielhafte Ausgabe:

{
    "ID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
    "userName": "Designer",
    "machineName": "Mein Computer",
    "systemUserName": "John Doe",
    "IPAdresse": "localhost",
    "hostType": "mac",
    "Typ": "remote",
    "status": "aktiv",
    "creationDateTime": "2024-09-10T09:55:54Z",
    "persistentID": "8FFDAE519F1F4DCDB81E8E8DB00AD101"
}

Abrufen der Prozessnummer aus der Prozess-ID

Der Befehl Process number Befehl wurde aktualisiert. Es ist nun möglich, die Prozess-ID zu übergeben, um die Prozessnummer direkt abzurufen, zusätzlich zu der vorherigen Methode der Verwendung des Prozessnamens.

var $processNumber : Integer
var $processName : Text
var $processID : Integer

// From process name
$processNumber :=Process number($processName)

// From process ID
$processNumber :=Process number($processID)

Verbesserung für den Befehl Prozessaktivität

Prozesse nach Sitzung filtern

Der Befehl Process activity Befehl können Sie die Liste der Prozesse und Sitzungen abrufen. Wenn Sie die Option Processes only oder Sessions only übergeben, rufen Sie entweder die Liste der Prozesse oder die Liste der Sitzungen ab. Jetztkönnen Sie Ihre Ergebnisse noch effizienter filtern. Geben Sie einfach eine Sitzungs-ID an, um die Liste der mit der Sitzung verknüpften Prozesse abzurufen.

Hier sind die verschiedenen möglichen Kombinationen:

// 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)

Abrufen des Erstellungsdatums eines Prozesses

Die neue Eigenschaft creationDateTime wurde auch dem Process-Objekt hinzugefügt, das von dem Process activity Befehl zurückgegeben wird. So können Sie ganz einfach das Erstellungsdatum eines beliebigen Prozesses abrufen.

Beispielhafte Ausgabe:

{
"Prozesse": [
          {
             "Name": "Anwendungsprozess",
             "sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",
             "number": 4,
             "ID": 4,
             "sichtbar": wahr,
             "systemID": "123145476132864",
             "type": -18,
             "state": 0,
             "cpuUsage": 0,
             "cpuTime": 0.006769,
             "creationDateTime": "2024-09-22T12:46:39.324Z",
             "preemptive": false
           }
    ]
}

Tiefer eintauchen

Weitere Einzelheiten zu diesen spannenden Änderungen finden Sie in der aktualisierten Dokumentation zu diesen Befehlen. Wir können es kaum erwarten, Ihre Meinung zu hören. Beteiligen Sie sich an der Diskussion in unserem Forum!

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.