it-swarm.com.de

So stoppen/beenden Sie Airflow-Aufgaben auf der Benutzeroberfläche

Wie kann ich eine laufende Aufgabe auf der Airflow-Benutzeroberfläche anhalten/beenden? Ich verwende LocalExecutor. Wie kann ich die laufende Aufgabe auch beenden, wenn ich CeleryExecutor verwende?

14
Chetan J

Im Bildschirm DAGs können Sie die laufenden Aufgaben sehen:

 enter image description here

Beispiel

Drücken Sie bei "Letzte Tasks" auf das Symbol "Ausführen", und Airflow führt die Suchabfrage automatisch mit den Filtern für Dag-ID und -Zustand aus und zeigt die Ergebnisse auf dem Bildschirm "Task-Instanzen" an > Aufgabeninstanzen).

Dort können Sie die präsentierten Aufgaben auswählen und in einen anderen Zustand setzen oder löschen. 

Bitte beachten Sie, dass der Airflow-Scheduler bei einer laufenden DAG die von Ihnen gelöschten Aufgaben erneut startet. Entweder Sie stoppen die DAG zuerst, indem Sie ihren Status ändern, oder stoppen Sie den Scheduler (wenn Sie in einer Testumgebung arbeiten).

9
Jorge Almeida

vom Luftstrommitter (@villasv)

Nicht anmutig, nein. Sie können einen Tag stoppen (Markierung als ausgeführt aufheben) und die Status der Aufgaben löschen oder sogar in der Benutzeroberfläche löschen. Die tatsächlich ausgeführten Aufgaben im Executor werden nicht angehalten, aber sie können abgebrochen werden, wenn der Executor erkennt, dass er sich nicht mehr in der Datenbank befindet .

3
Pablo

Wie von Pablo und Jorge erwähnt, stoppt der Dag die Ausführung der Aufgabe nicht, wenn die Ausführung bereits gestartet ist. Es gibt jedoch eine Möglichkeit, eine laufende Aufgabe über die Benutzeroberfläche zu stoppen, aber es ist ein bisschen hackig.

Wenn sich die Aufgabe im running-Status befindet, können Sie auf CLEAR klicken. Dadurch wird job.kill() aufgerufen. Die Aufgabe wird auf shut_down gesetzt und sofort in up_for_retry verschoben.

Offensichtlich bedeutete Airflow nicht, dass Sie Aufgaben im Running-Status löschen. Da Airflow sie jedoch nicht deaktiviert hat, können Sie sie auch wie beschrieben verwenden. Airflow bedeutete, dass CLEAR mit failed, up_for_retry etc verwendet werden sollte. Möglicherweise wird die Community in Zukunft diesen Fehler (?) Verwenden und dies als Funktion mit der Schaltfläche "Task herunterfahren" implementieren.

1
Luis