web-dev-qa-db-ja.com

エアフローDAGを停止するにはどうすればよいですか?

python 2.7でAirflow1.9.0を実行する。DAGを正常に停止するにはどうすればよいですか?

この場合、すべてが4倍の時間がかかる原因となる不正なコードでファイルのアップロードを実行しているDAGがあり、最終的にタイムアウトするまで1日待つ必要はありません(タイムアウトはに設定されています) 10時間)。

DAGはtarファイルを探します。見つかったファイルを見つけると、tar内のすべてのファイルを調べて、処理するファイルを探し、それらを処理します。

DAGを止める方法が見つかりませんでした。 「DAGRuns」列(右側)の「Running」サークルをクリックしてみました。プロセスを選択して「失敗」としてマークすることができます。しかし、それは実行を停止しませんでした。

「最近のタスク」列(左側)の「実行中」の円をクリックしてみました。プロセスを選択できましたが、それらをfiled(またはsuccess)に設定しようとすると、Airflowで例外が生成されました

6
Greg Dougherty

参照-> DAG実行->チェックボックス->選択した「削除」あり

6
Asa Witt

プロセスを自分のように構築した場合、Airflowからプロセスを停止することはできません。実際に停止するには、実行中のプロセスIDを見つけて、強制的に終了する必要があります。

1
joeb

強制終了するタスクと並行して実行されるセンサーオペレーターを追加できます。

センサーは、ある変数の値を監視し、「STOP」のように、変数内の特定の値を検出すると完了する必要があります。

センサーの後には、以下のようなコマンドを使用して、長時間実行されているタスクを強制終了するBashOperatorタスクが続く必要があります。

kill -9 $(ps -ef | grep | grep | grep -v grep | awk '{print $ 2;}')

0
Adrian