python 2.7でAirflow1.9.0を実行する。DAGを正常に停止するにはどうすればよいですか?
この場合、すべてが4倍の時間がかかる原因となる不正なコードでファイルのアップロードを実行しているDAGがあり、最終的にタイムアウトするまで1日待つ必要はありません(タイムアウトはに設定されています) 10時間)。
DAGはtarファイルを探します。見つかったファイルを見つけると、tar内のすべてのファイルを調べて、処理するファイルを探し、それらを処理します。
DAGを止める方法が見つかりませんでした。 「DAGRuns」列(右側)の「Running」サークルをクリックしてみました。プロセスを選択して「失敗」としてマークすることができます。しかし、それは実行を停止しませんでした。
「最近のタスク」列(左側)の「実行中」の円をクリックしてみました。プロセスを選択できましたが、それらをfiled(またはsuccess)に設定しようとすると、Airflowで例外が生成されました
参照-> DAG実行->チェックボックス->選択した「削除」あり
プロセスを自分のように構築した場合、Airflowからプロセスを停止することはできません。実際に停止するには、実行中のプロセスIDを見つけて、強制的に終了する必要があります。
強制終了するタスクと並行して実行されるセンサーオペレーターを追加できます。
センサーは、ある変数の値を監視し、「STOP」のように、変数内の特定の値を検出すると完了する必要があります。
センサーの後には、以下のようなコマンドを使用して、長時間実行されているタスクを強制終了するBashOperatorタスクが続く必要があります。
kill -9 $(ps -ef | grep | grep | grep -v grep | awk '{print $ 2;}')