web-dev-qa-db-ja.com

ターミナルからのエアフローDAGのトリガーが機能しない

気流を使用して、コマンドラインから手動でトリガーする特定のワークフローを定義しようとしています。

DAGを作成し、一連のタスクを追加します。

dag = airflow.DAG(
    "DAG_NAME",
    start_date=datetime(2015, 1, 1),
    schedule_interval=None,
    default_args=args)

次に、ターミナルで実行します

airflow trigger_dag DAG_NAME

そして何も起こりません。スケジューラは別のスレッドで実行されています。どの方向でも大歓迎です。ありがとうございました

20
amustafa

私はちょうど同じ問題に遭遇しました。

airflow list_dagsで、またはWebサーバー経由でdagを見ることができると仮定すると:

Web UIでDAGをオンにする必要があるだけでなく、airflow schedulerが別のプロセスとして実行されていることも確認する必要がありました。

スケジューラを実行すると、airflow trigger_dag <dag_id>を使用してdagを正常に実行できました。

私のDAG構成は、あなたのDAG構成とそれほど変わりません。 schedule_interval=Noneもあります

30
neolytics

ワークフローを無効にしている可能性があります。ワークフローを手動で有効にします。次の方法でエアフローWebサーバーを開きます

$ airflow webserver -p 8080

http:// localhost:808 に移動します。トグルボタンのオン/オフで、使用可能なすべてのダグのリストが表示されます。デフォルトでは、すべてがオフに設定されています。ダグを検索し、ワークフローを切り替えます。次に、ターミナルからワークフローをトリガーしてみてください。これで動作するはずです。

8
sidd607

最初に、エアフローのデータベース接続文字列が機能していることを確認し、postgres、sqlite(デフォルト)またはその他のデータベースで天気を確認します。次に、コマンドを実行します

 airflow initdb

このコマンドは接続エラーを表示しないでください

次に、ウェブサーバーが別のスレッドで実行されていることを確認します

airflow webserver

次に、別のスレッドでシュデューラーを実行します

airflow scheduler

最後に、スケジューラーの実行後に別のスレッドでダグをトリガーします

airflow trigger_dag dag_id

また、DAG名とタスクがDAGとタスクリストに存在することを確認します

airflow list_dags
airflow list_tasks dag_id

UIでDAGがオフになっている場合は、オンにします。

4
Anmol Karki

引き金となるものを「一時停止解除」する必要があります。使用する airflow unpause xxx_drag その後 airflow trigger_dag xxx_dragそしてそれは動作するはずです。

0
Eden Wang

また、UIでDAG自体がオンになっていることを確認します。

0
ilana917