問題タブ [airflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ターミナルからの Airflow DAG のトリガーが機能しない
エアフローを使用して、コマンド ラインから手動でトリガーする特定のワークフローを定義しようとしています。
DAG を作成し、一連のタスクを追加します。
次に、ターミナルで実行します
そして何も起こりません。スケジューラは別のスレッドで実行されています。どんな方向でも大歓迎です。ありがとうございました
airflow - Airflow: Airflow で DAG の crontab 時間を変更する
毎日 3:00 に実行されている DAG があり、過去数週間は問題なく実行されていました。
日付を 7:00 に実行するように更新しましたが、どうやら過去 2 日間は実行されていませんでした。この 2 日間のタスクはステータスが「実行中」(緑色) で表示されますが、コマンドはトリガーされません。
DAG の実行時間を変更するには、さらに何かをする必要がありますか?
過去にこれを解決する 1 つの方法は、この DAG のタスクをメタデータベースでクリーンアップし、start_date を更新することでしたが、これを再度行うことは避けたいと思います。
誰にも提案がありますか?
jobs - Airflow の生の SQL
クエリを実行するのが難しいため、O/R マッパーの代わりに生の SQL (主に select + insert ) を使用することをお勧めします。
(RDBMS は postgres9.4 です)
だから質問は
Airflow のロジック部分に raw SQL を使用できますか?
python - Airflow ワーカー/フラワーを開始できず、インストールが正しいことを確認するために Airflow アーキテクチャを明確にする必要があります
別のマシンでワーカーを実行すると、以下に示すエラーが発生します。構成手順に従い、dags フォルダーを同期しました。
また、RabbitMQ と PostgreSQL は Airflow コア マシンにのみインストールする必要があり、ワーカーにはインストールする必要がないことを確認したいと思います (ワーカーはコアにのみ接続します)。
セットアップの仕様は次のとおりです。
Airflow コア/サーバー コンピューター
以下がインストールされています:
- Python 2.7 と
- エアフロー (AIRFLOW_HOME = ~/airflow)
- セロリ
- psycogp2
- RabbitMQ
- PostgreSQL
airflow.cfg で行われた構成:
sql_alchemy_conn = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow
executor = CeleryExecutor
broker_url = amqp://username:password@192.168.1.2:5672//
celery_result_backend = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow
実行されたテスト:
- RabbitMQ が実行されています
- PostgreSQL に接続でき、Airflow がテーブルを作成したことを確認した
- Web サーバーを起動および表示できます (カスタム DAG を含む)
.
.
Airflow ワーカー コンピューター
以下がインストールされています:
- Python 2.7 と
- エアフロー (AIRFLOW_HOME = ~/airflow)
- セロリ
- psycogp2
airflow.cfg で行われた構成は、サーバーとまったく同じです。
sql_alchemy_conn = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow
executor = CeleryExecutor
broker_url = amqp://username:password@192.168.1.2:5672//
celery_result_backend = postgresql+psycopg2://username:password@192.168.1.2:5432/airflow
ワーカー マシンで実行されたコマンドからの出力:
実行時airflow flower
:
実行時airflow worker
:
celery_result_backend
をデフォルトに変更して再度実行するdb+mysql://airflow:airflow@localhost:3306/airflow
とairflow worker
、結果は次のようになります。
私は何が欠けていますか?これをさらに診断するにはどうすればよいですか?
python - Airflow Schedule_Interval Crontab 構文
毎週月曜日の午前 9 時に Python スクリプト タスクを実行するための正しい構文を確認したいと思います。現在、私のスクリプトは毎週日曜日の午前 12 時 (0 0 * * 0) に送信するように設定されています。