Airflow UI上で実行中のタスクを停止/終了するにはどうすればよいですか?LocalExecutorを使用しています。 CeleryExecutor
を使用しても、実行中のタスクを停止/終了させることはできますか?
DAGs画面では、実行中のタスクが確認できます。
例のように
Recent Tasks'で、実行中のアイコンを押すと、Airflowは自動的にDag IdとStateを 'running' に指定して検索クエリを実行し、タスクインスタンス画面に結果を表示します(手動でBrowse > Task Instancesタブで見つけることができます)。
そこで、提示されたタスクを選択し、別の状態に設定したり、削除したりすることができます。
DAGが現在稼働している場合、削除したタスクはAirflowスケジューラによって再び起動されることに注意してください。そのため、まずDAGを停止して状態を変更するか、スケジューラーを停止します(テスト環境で実行している場合)。
PabloとJorgeが言ったように、Dagを一時停止しても、すでに実行が始まっている場合は、タスクの実行を停止することはできません。しかし、UIから実行中のタスクを停止する方法はありますが、少し面倒です。
タスクが running
状態のときに CLEAR
をクリックすると、 job.kill()
が呼び出され、タスクは shut_down
に設定されてすぐに up_for_retry
に移動するので、タスクは停止します。
明らかにAirflowは実行中
のタスクをクリアすることを意図していませんでしたが、Airflowはそれを無効化もしなかったので、私が提案したように使うことができます。Airflow は CLEAR
を failed
や up_for_retry
などと一緒に使うことを意図していました... 将来的には、コミュニティがこのバグ(?)を利用して、"shut down task"ボタンで機能として実装してくれるかもしれませんね。