Airflow使用注意

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

猜你喜欢

转载自my.oschina.net/ilovetao/blog/1810068