Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
KILL WORKER

KILL WORKER 


 

KILL WORKER {( Prozess )} 
Parameter Typ   Beschreibung
Prozess  Text, Lange Ganzzahl in Nummer oder Name des zu stoppenden Prozesses (stoppt ohne Angabe den aktuellen Prozess)

Der Befehl KILL WORKER sendet eine Nachricht an den Worker Prozess, mit dem in Prozess übergebenen Namen oder der Nummer, mit der Aufforderung, noch wartende Nachrichten zu ignorieren und die Ausführung nach Abschließen der aktuellen Aufgabe zu stoppen.

Dieser Befehl ist nur mit Worker Prozessen anwendbar. Weitere Informationen dazu finden Sie im Abschnitt Über Worker.

In Prozess übergeben Sie Name oder Nummer des Worker Prozesses, dessen Ausführung gestoppt werden soll. Gibt es keinen Worker mit dem angegebenen Prozessnamen oder der Prozessnummer, führt KILL WORKER nichts aus.
KILL WORKER ohne Parameter wird auf den aktuell laufenden Worker angewendet und entspricht deshalb KILL WORKER (aktueller Prozess).

Wird der Befehl in einem Worker aufgerufen, der nicht explizit mit dem Befehl CALL WORKER erstellt wurde (z.B. im Worker der Hauptanwendung), fordert er den Worker nur auf, seine Nachrichtenbox zu leeren.

Wird der Befehl CALL WORKER aufgerufen, um eine Meldung an einen Worker zu senden, der gerade von KILL WORKER gestoppt wurde, wird ein neuer Prozess gestartet. Um sicherzustellen, dass nur ein Prozess gleichzeitig für einen Worker läuft, startet der neue Prozess, nachdem der vorige beendet ist. Wird CALL WORKER dagegen von einem Worker aufgerufen, um sich selbst eine Meldung zu senden und wurde er gerade durch KILL WORKER gestoppt, führt der Befehl nichts aus.

Der folgende Code (z.B. über ein Formular ausgeführt) löst Beenden des Worker aus:

 CALL WORKER(vWorkerName;"theWorker";"end")

Dazu wird in der Worker Methode (theWorker) folgender Code hinzugefügt:

  //Methode theWorker
 C_TEXT($1//param
 
 Case of
    :($1="call") //der Worker wird aufgerufen
       ... //etwas ausführen
    :($1="end") //der Worker erhält die Aufforderung, zu stoppen
       KILL WORKER
 End case



Siehe auch 

CALL WORKER
Current process name
Über Worker

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Prozess (Kommunikation)
Nummer: 1390

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v15 R5

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)