UIからAirflowのタスクを停止/終了させる方法

Airflow UI上で実行中のタスクを停止/終了するにはどうすればよいですか?LocalExecutorを使用しています。 CeleryExecutor を使用しても、実行中のタスクを停止/終了させることはできますか?

DAGs画面では、実行中のタスクが確認できます。

![ここに画像の説明を入力][1]

のように

Recent Tasks'で、実行中のアイコンを押すと、Airflowは自動的にDag IdとStateを 'running' に指定して検索クエリを実行し、タスクインスタンス画面に結果を表示します(手動でBrowse > Task Instancesタブで見つけることができます)。

そこで、提示されたタスクを選択し、別の状態に設定したり、削除したりすることができます。

DAGが現在稼働している場合、削除したタスクはAirflowスケジューラによって再び起動されることに注意してください。そのため、まずDAGを停止して状態を変更するか、スケジューラーを停止します(テスト環境で実行している場合)。

解説 (3)

エアフローギター(@villasv)より

優雅ではありません。ダグを停止(実行中のマークを外す)してタスクの状態をクリアしたり、UIで削除することも可能です。実際に実行中のタスクは停止しませんが、 しかし、実行者がデータベースにもうないことを認識した場合、強制終了する可能性があります

解説 (0)

PabloとJorgeが言ったように、Dagを一時停止しても、すでに実行が始まっている場合は、タスクの実行を停止することはできません。しかし、UIから実行中のタスクを停止する方法はありますが、少し面倒です。

タスクが running 状態のときに CLEAR をクリックすると、 job.kill() が呼び出され、タスクは shut_down に設定されてすぐに up_for_retry に移動するので、タスクは停止します。

明らかにAirflowは実行中のタスクをクリアすることを意図していませんでしたが、Airflowはそれを無効化もしなかったので、私が提案したように使うことができます。Airflow は CLEARfailedup_for_retry などと一緒に使うことを意図していました... 将来的には、コミュニティがこのバグ(?)を利用して、"shut down task"ボタンで機能として実装してくれるかもしれませんね。

解説 (0)