from airflow import DAG
from airflow.operators.bash_operator import BashOperator
from datetime import datetime, timedelta
import time
default_args = {
'owner': 'womaibi',
'depends_on_past': False,
'start_date': datetime(2018, 5, 1),
}
dag = DAG(
'testtao', default_args=default_args, schedule_interval=timedelta(minutes=1))
# t1, t2 and t3 are examples of tasks created by instantiating operators
t1 = BashOperator(
task_id='print_date',
bash_command='echo 时间:`date`>>/root/airflow/dags/a.log',
dag=dag)
上面代码如何运行后,你会发现不是按照1分钟运行一次的,这是因为你的开始时间和当前时间比较,如果大于1分钟则会补上之前的数据。
修改:~/airflow/airflow.cfg
catchup_by_default = False
删除一个dag:
delete from xcom where dag_id = 'testtao';
delete from task_instance where dag_id = 'testtao';
delete from sla_miss where dag_id = 'testtao';
delete from log where dag_id = 'testtao';
delete from job where dag_id = 'testtao';
delete from dag_run where dag_id = 'testtao';
delete from dag where dag_id = 'testtao';
删除~/airflow/dags/下对应的文件,重启webserver