2015-03-11 8 views
5

Ich bin neu im Sturm und versuche, den Ablauf der Ausführung verschiedener Methoden von spout zu bolt zu verstehen. Wie Ausguss hat verschiedene Methoden wieAusführungsablauf eines Sturmprogramms

nextTuple()

offen()

declareOutputFields()

activate()

deactivate()

und Bolzen hat sich getroffen Hods wie

prepare()

execute()

Bereinigung()

declareOutputFields()

so kann mir jemand sagen, die Reihenfolge der Ausführung dieser Methoden ?

Antwort

10

Zuerst wird, wenn Ihre Topologie gestartet ...

  1. erstellen Tüllen und Schrauben
  2. declareOutputFields
  3. Tüllen/Bolzen serialisiert und

Zweite Arbeitnehmer zugeordnet ist, jeder Arbeiter irgendwo auf dem Cluster ...

  1. Tüllen openprepare und Bolzen (geschieht einmal)
  2. In einer Schleife ...
    • Tüllen nennen ack, fail und nextTuple
    • Bolzen nennen execute

Wenn Ihre Topologie deaktiviert ist ...

  • Ihre Tüllen deactivate Methode wird aufgerufen. Wenn Sie die Topologie erneut aktivieren, wird activate aufgerufen.

Wenn Ihre Topologie getötet wird ...

  • Tüllen Macht haben close genannt
  • Bolts Machtcleanup genannt haben

Hinweis:

Es gibt keine Garantie, die wird aufgerufen, zu schließen, weil die Supervisor kill -9s Worker-Prozesse auf der Cluster. source

+0

Dank der Antwort. Ich habe eine weitere Frage, wenn Sie helfen können -wenn ich die Topologie töten die Cleanup-Methode nicht aufgerufen werden, da ich im Cluster-Modus ausgeführt werde, wenn ich einen Code nach der Topologie getötet werden soll wo kann ich diesen Code schreiben? – u12345

+0

Bis jetzt habe ich keine gute Möglichkeit gefunden, Code auszuführen, wenn die Topologie getötet wird. Ich habe darüber nachgedacht, mit Zooweeper einen Mechanismus zum "anmutigen Herunterfahren" hinzuzufügen, aber ich hatte bisher noch keine Zeit, daran zu arbeiten. Wenn etwas funktioniert, wäre ich interessiert! –

Verwandte Themen