2016-09-16 4 views
0

外部トリガー(「airflow trigger_dag」コマンドを使用)でのみ実行されるDAGを作成したいとします。しかし、私がこれを行うと、私が望む 'manual_xxx'に加えて、複数の 'scheduled_xxx' DagRunsが表示されます。私はスケジュールされたDAGRunsがbackfillに作成されたと仮定していますか?trigger_dagを使用しているときにエアフローがバックフィルされないようにするにはどうすればよいですか?

「manual_xxx」DagRunを作成し、「scheduled_xxx」DagRunsを作成する方法はありますか?

私はSTART_DATE(過去、datetime.now()と将来のために異なる値を試してみましたが、同じ結果を得た。ここに私のおもちゃDAGだ...

from airflow import DAG 
from airflow.operators.bash_operator import BashOperator 
from datetime import datetime, timedelta 

default_args = { 
'start_date': datetime.now(), (also tried past and future dates) 
'schedule_interval': None, 
'depends_on_past': False, 
} 

dag = DAG('my_test_dag', default_args=default_args) 

date_task = BashOperator(
task_id='date', 
bash_command='date', 
dag=dag) 

これは私がtrigger_dagコマンドを発行しています方法です。 ..

airflow trigger_dag my_test_dag 

答えて

0

「schedule_intervalは、」タスクレベルのパラメータではありません表示されます。私はDAGに移動した場合、オブジェクト、私は期待どおりの結果を得ることができます。それは私が追加したとき、私は手動でのみDagRunをトリガします、ですDAGコンストラクタへの 'schedule_interval'引数..

default_args = { 
'start_date': datetime.now(), (also tried past and future dates) 
'depends_on_past': False, 
} 
dag = DAG('my_test_dag', default_args=default_args, **schedule_interval=None**) 

この結果、外部/手動トリガ(trigger_dag)ごとに1つのDagRunが作成されます。

関連する問題