気流を使用して、コマンドラインから手動でトリガーする特定のワークフローを定義しようとしています。
DAGを作成し、一連のタスクを追加します。
dag = airflow.DAG(
"DAG_NAME",
start_date=datetime(2015, 1, 1),
schedule_interval=None,
default_args=args)
次に、ターミナルで実行します
airflow trigger_dag DAG_NAME
そして何も起こりません。スケジューラは別のスレッドで実行されています。どの方向でも大歓迎です。ありがとうございました
私はちょうど同じ問題に遭遇しました。
airflow list_dags
で、またはWebサーバー経由でdagを見ることができると仮定すると:
Web UIでDAGをオンにする必要があるだけでなく、airflow scheduler
が別のプロセスとして実行されていることも確認する必要がありました。
スケジューラを実行すると、airflow trigger_dag <dag_id>
を使用してdagを正常に実行できました。
私のDAG構成は、あなたのDAG構成とそれほど変わりません。 schedule_interval=None
もあります
ワークフローを無効にしている可能性があります。ワークフローを手動で有効にします。次の方法でエアフローWebサーバーを開きます
$ airflow webserver -p 8080
http:// localhost:808 に移動します。トグルボタンのオン/オフで、使用可能なすべてのダグのリストが表示されます。デフォルトでは、すべてがオフに設定されています。ダグを検索し、ワークフローを切り替えます。次に、ターミナルからワークフローをトリガーしてみてください。これで動作するはずです。
最初に、エアフローのデータベース接続文字列が機能していることを確認し、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がオフになっている場合は、オンにします。
引き金となるものを「一時停止解除」する必要があります。使用する airflow unpause xxx_drag
その後 airflow trigger_dag xxx_drag
そしてそれは動作するはずです。
また、UIでDAG自体がオンになっていることを確認します。