4D v16.3

Page Process

Accueil

 
4D v16.3
Page Process

Page Process  


 

 

La page Process permet de visualiser le temps CPU consommé ainsi que diverses informations concernant chaque process créé dans la base. Vous disposez également d'outils permettant d'agir sur les process (hors process système). Pour plus d'informations sur les process dans 4D, reportez-vous à la section Introduction aux process dans le manuel Langage de 4D.

Note 4D Server : La Page Process de l’Explorateur d’exécution sur un client 4D contrôle les process de ce client 4D. La Page Process de la fenêtre d'administration de 4D Server contrôle tous les process des clients connectés au serveur. 

Pour chaque process, la page fournit les informations suivantes :

  • le type du process (icône)
  • le numéro du process (numéro d’identification, identique au numéro de process. Ce numéro d’identification est utilisé par les commandes et fonctions pour désigner un process particulier).
  • le nom du process,
  • le statut du process,
  • le temps que l’exécution du process a pris depuis sa création,
  • le pourcentage de temps CPU consommé par le process.

Chaque process est identifié par une icône et un type. La couleur et la forme de l’icône indiquent la famille du process :

Serveur d’application
Serveur SQL
Serveur DB4D (moteur de base de données)
Serveur Web
Serveur SOAP
Process client 4D protégé (process développement d’un 4D connecté)
Process client 4D principal (process principal d’un 4D connecté. Process collaboratif, équivalent sur le serveur du process créé sur le poste client)
Process base 4D client (process parallèle à un process 4D client. Process préemptif chargé de contrôler le process client 4D principal correspondant)
Process en attente (ancien ou futur "Process client 4D base de données")
Worker serveur SQL
Worker serveur HTTP
Process 4D client (process coopératif tournant sur le 4D connecté)
Procédure stockée (process coopératif lancé par un 4D connecté et tournant sur le serveur)
Méthode Web (lancée par un 4DACTION par exemple)
Méthode Web (process préemptif)
Méthode SOAP (lancée par un Web Service)
Logger
Listener connexion TCP
Manager session TCP
Autre process
Process worker (coopératif)
Procédure stockée (process préemptif)
Process worker (préemptif)

Note : Un process client 4D principal et son process base 4D client "jumeau" sont regroupés lorsque l’option Afficher les process par groupes est cochée.

Chaque process a un numéro unique, correspondant à l’ordre de création du process au cours de la session. Au démarrage de l’application, les premiers numéros sont affectés aux process créés automatiquement par 4D (leur nombre varie en fonction des serveurs exécutés au lancement).

Lorsque vous créez un nouveau process, il prend soit la place suivante dans la liste, soit la place d’un process qui a été tué. Par exemple, supposez que les process 7 et 8 soient en cours d’exécution. Si le process 7 est “tué”, le process créé à la suite prendra le numéro 7.

Note : Les process sont automatiquement détruits lorsqu’ils ont fini de réaliser les tâches pour lesquelles ils ont été créés. Vous pouvez “tuer” un process avant qu’il ait atteint son terme, à l’aide de l’Explorateur d’exécution. Pour plus d’informations sur ce point, reportez-vous au paragraphe Tuer un process.

Si vous créez un process à l’aide de la commande Nouveau process ou Executer sur serveur, vous pouvez définir son nom en le passant en paramètre. Le nom spécifié en paramètre apparaît comme nom de process dans la liste des process.

Si vous ne définissez pas de nom à l’aide d’une commande, 4D affecte automatiquement au process un nom par défaut. Les noms par défaut sont basés sur la manière utilisée pour créer le process :

  • Process créé à l’aide d’une commande de menu : Si vous créez un process à partir d’une commande de menu le process se voit attribuer le nom “ML_NuméroProcess”. Par exemple, si le process 7 a été créé à l’aide d’une commande de menu, il portera le nom “ML_7”.
  • Process créé à partir de l’exécution d’une méthode : Si vous créez un process à partir de la boîte de dialogue d’exécution d’une méthode ou de l’éditeur de méthodes, il se voit attribuer le nom par défaut “P_NuméroProcess”. Par exemple, si le process 8 est créé de cette manière, il se voit attribuer le nom “P_8”.
  • Process créé par une commande, mais dont le nom n’est pas précisé : Si vous créez un process à l’aide d’une méthode et que vous ne passez pas de nom en paramètre de la commande Nouveau process, son nom dans la liste des process sera laissé en blanc.

Note 4D Server : Si le nom du process commence par le caractère $, ce process est un process local (qui n’a pas accès aux tables) ou qui n’est pas connu de 4D Server (cf. section Process globaux et locaux).

Le statut d’un process est, en fait, l’état courant de son exécution. Les statuts suivants peuvent être affichés dans la liste des process :

  • En cours d’exécution : Le process est en cours d’exécution.
  • Endormi : Le process est endormi pour une durée définie. Pendant qu’il est endormi, le process ne prend aucun temps de traitement. Pour plus d’informations sur la manière d’endormir un process, reportez-vous au manuel Langage de 4D.
  • En attente d’événement : Le process attend une action d’un utilisateur comme le clic sur un bouton, la sélection d’une commande ou la saisie dans une zone saisissable.
  • En attente d’entrée-sortie : Le process attend qu’une entrée ou une sortie survienne. Par exemple, un process peut avoir besoin d’attendre pendant que certains enregistrements sont mis à jour sur disque.
  • En attente de drapeau interne : Le process attend que les process internes terminent des tâches de gestion de 4D.
  • Suspendu : Le process est suspendu jusqu’à ce que l’on lui commande de reprendre son exécution. Pendant la période où il est suspendu, il ne prend pas de temps de traitement. Pour plus d’informations sur ce point, reportez-vous au paragraphe Suspendre et réactiver l’exécution d'un process.
  • Tué : Le process a été détruit. Lorsqu’un process est tué, 4D libère tous les enregistrements verrouillés, annule toutes les transactions non validées ouvertes par le process et libère la sélection courante ainsi que l’enregistrement courant. Les process sont automatiquement tués à leur terme, ainsi que les variables process, les sémaphores, les ensembles et les sélections temporaires. Vous pouvez aussi tuer un process avant son terme. Pour plus d’informations sur ce point, reportez-vous au paragraphe Tuer un process.
  • Dialogue caché : Ce process affichait un dialogue modal et a été caché afin que l’utilisateur ne puisse plus voir le dialogue. Le process restera dans cet état jusqu’à ce que le dialogue soit affiché de nouveau.

L’Explorateur d’exécution affiche le temps de traitement de chaque process. Lorsqu’il gère les process, 4D divise le temps de traitement entre les différents process en cours d’exécution. De cette façon, la durée de l’exécution est le temps d’exécution (exprimé en secondes) qu’un process a pris depuis sa création. Il est à noter que le temps de traitement ne correspond pas à la durée totale écoulée depuis la création du process puisque l’exécution des process est alternée.

La ration CPU correspond au pourcentage du temps que 4D a consacré à ce process. La fréquence de rafraîchissement est paramétrable via un menu contextuel (clic droit sur la ligne) :

Plus la fréquence de rafraîchissement des informations est élevée, plus le temps CPU consommé par le process de l’Explorateur d’exécution sera important.

L’Explorateur d’exécution vous permet de contrôler l’exécution d’un process en le suspendant, en reprenant son exécution ou en le tuant. Vous pouvez également décider de l’exécuter en mode trace. Enfin, vous pouvez à tout moment masquer et réafficher ses fenêtres.

Ces opérations s’effectuent par l’intermédiaire de boutons de contrôle situés au-dessous de la liste des process. Les boutons affectent la sélection de process. Vous pouvez sélectionner plusieurs process simultanément (Maj+clic pour une sélection continue et Commande/Ctrl+clic pour une sélection discontinue).

Note : Vous pouvez endormir un process pour une période définie. Pour plus d’informations sur ce point, reportez-vous au manuel Langage de 4D.

Vous pouvez temporairement suspendre l’exécution d’un process. Suspendre un process permet, par exemple, de disposer de plus de temps de traitement pour les autres, ou d’attendre qu’un événement, dont le process dépend, survienne.

Par exemple, supposons que vous lanciez un process qui imprime des enregistrements. Vous réalisez alors que vous souhaitez modifier un des enregistrements avant d’imprimer la sélection d’enregistrements. Vous pouvez suspendre l’exécution du process, réaliser vos modifications et réactiver l’exécution du process pour continuer l’impression des enregistrements.

  • Pour suspendre l’exécution d’un process, sélectionnez-le et cliquez sur le bouton Suspendre . Le statut du process dans la liste des process devient automatiquement “Suspendu”. L’exécution du process reste indéfiniment suspendue jusqu’à ce qu’elle soit réactivée.
  • Pour reprendre l’exécution d’un process, sélectionnez-le et cliquez sur le bouton Réactiver . Le process reprend le statut qu’il avait avant d’être suspendu. Par exemple, si le process était exécuté au moment où il a été suspendu, il reprend son exécution. Si le process attendait un événement, il reprend son attente.

Un process est automatiquement “tué” lorsqu’il termine la tâche qu’il réalisait. Cependant, vous pouvez avoir besoin de détruire un process avant qu’il ait atteint son terme, à des fins de débogage. Les process ne doivent pas être tués pour d’autres raisons.

Lorsqu’un process est tué, 4D libère tout enregistrement précédemment verrouillé, annule toute transaction ouverte par le process et libère la sélection courante et l’enregistrement courant. Les variables process, les sémaphores, les ensembles et les sélections temporaires sont aussi tués au terme du process.

Pour “tuer” un process, sélectionnez-le process et cliquez sur le bouton Tuer . Le statut du process devient alors “Tué”.

Vous pouvez déboguer un process en surveillant son exécution dans le débogueur de 4D. 

Pour déboguer un process, sélectionnez-le puis cliquez sur le bouton Tracer .

Si le process était en cours d’exécution, la fenêtre de débogage de 4D apparaît, vous permettant de déboguer le process en l’exécutant au pas à pas et en évaluant les expressions telles que les valeurs des champs et les variables utilisées dans la méthode. Si le process était endormi ou suspendu, 4D “enregistre” la demande et affichera le débogueur lorsque le process sera réactivé.

Pour plus d’informations sur le débogueur de 4D, reportez-vous au manuel Langage de 4D.

Vous ne pouvez pas déboguer les process internes créés et gérés par 4D.

Vous pouvez rendre un process invisible dans le mode Application. Lorsqu’un process est caché, toutes les fenêtres et tous les menus créés par le process sont invisibles pour les utilisateurs pendant son exécution. 

Cacher un process est utile pour les opérations pour lesquelles vous ouvrez une fenêtre que vous souhaitez refermer par la suite. Au lieu de tuer le process pour fermer la fenêtre, vous pouvez la rendre invisible pour l’utilisateur en cachant le process qui l’a ouverte. Même si la fenêtre est cachée, le process continue à s’exécuter et va jusqu’au terme de l’opération qu’il a commencé.

Pour cacher un process, sélectionnez-le et cliquez sur le bouton Cacher .

Le process est désormais caché dans le mode Application. A noter qu'il continue a être exécuté même s’il est caché.
Vous pouvez à tout moment réafficher un process auparavant caché.

Pour réafficher un process caché, cliquez sur le bouton Montrer . Le process réapparaît dans le mode Application.

Vous pouvez passer une fenêtre au premier plan en passant au premier plan le process qui la gère. Par exemple, si le process principal est passé au premier plan, le mode Application est passé au premier plan de l’écran.

Vous pouvez passer au premier plan tout process utilisateur. Si vous avez créé une fenêtre pour un process, cette fenêtre devient la fenêtre de premier plan à l’écran. Si une barre de menus est associée à la fenêtre, 4D passe la barre de menus au premier plan et les menus de cette barre deviennent les menus courants. La barre de menus courante est remplacée par la barre de menus du process passé au premier plan.

Pour passer un process au premier plan, sélectionnez-le puis cliquez sur le bouton Premier plan .

Toutes les fenêtres associées au process sont passées au premier plan. De plus, 4D affiche la barre de menus de la fenêtre courante du process.

 
PROPRIÉTÉS 

Produit : 4D
Thème : Explorateur d'exécution
Nom intl. : Process page

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v16)
4D - Mode Développement ( 4D v16.1)
4D - Mode Développement ( 4D v16.3)