| 4D v18KILL WORKER | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v18
 KILL WORKER 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| KILL WORKER {( process )} | ||||||||
| Paramètre | Type | Description | ||||||
| process | Texte, Entier long |   | Nom ou numéro du process worker à tuer (process courant si omis) | |||||
La commande KILL WORKER envoie un message au process worker dont vous avez passé le nom ou le numéro dans process, lui demandant d'ignorer tous les messages en attente (s'il y a) et de terminer son exécution à l'issue de la tâche en cours.
Cette commande ne peut être utilisée qu'avec des process workers. Pour plus d'informations, reportez-vous à la section A propos des workers.
Dans le paramètre process,  vous pouvez passer soit le nom soit le numéro du process worker que  vous voulez tuer. Si aucun process worker avec le nom ou le numéro  spécifié existe, KILL WORKER ne fait rien.
Lorsque le paramètre process est omis, KILL WORKER s'applique au process worker courant et équivaut donc à KILL WORKER(Numero du process courant).
Lorsque la commande est appliquée à un worker qui n’a pas été créé explicitement par la commande CALL WORKER (par exemple, le process worker principal de l'application), elle vide uniquement sa boîte aux lettres.
Si la commande CALL WORKER est appelée pour envoyer un message à un worker qui vient juste d'être tué par KILL WORKER, un nouveau process est démarré. Pour être sûr qu'il y a un seul process lancé à la fois pour un worker, le nouveau process attendra que que le précédent soit effectivement terminé. A noter cependant que si la commande CALL WORKER est appelée depuis un worker pour qu'il s'envoie lui-même un message alors qu'il vient juste d'être tué par KILL WORKER, la commande ne fait rien.
 CALL WORKER(vNomWorker;"leWorker";"fin")Dans la méthode du process worker (leWorker), vous ajoutez du code pour gérer cette situation :
  //méthode leWorker
 C_TEXT($1) //paramètre
 
 Case of
    :($1="appel") //on appelle le worker
       ... //faire quelque chose
    :($1="fin") //on demande au worker de terminer son exécution
       KILL WORKER
 End case
	Produit :  4D
	Thème :  Process (Communications)
	Numéro :  
        1390
        
        
        
	
	Créé :  4D v15 R5
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v18)
	
	
	
	
	
 Ajouter un commentaire
Ajouter un commentaire