Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

""" 

### Tutorial Documentation 

Code that goes along with the Airflow located 

[here](http://pythonhosted.org/airflow/tutorial.html) 

""" 

from airflow import DAG 

from airflow.operators import BashOperator 

from datetime import datetime, timedelta 

 

seven_days_ago = datetime.combine(datetime.today() - timedelta(7), 

                                  datetime.min.time()) 

 

default_args = { 

    'owner': 'airflow', 

    'depends_on_past': False, 

    'start_date': seven_days_ago, 

    'email': ['airflow@airflow.com'], 

    'email_on_failure': False, 

    'email_on_retry': False, 

    'retries': 1, 

    'retry_delay': timedelta(minutes=5), 

    # 'queue': 'bash_queue', 

    # 'pool': 'backfill', 

    # 'priority_weight': 10, 

    # 'schedule_interval': timedelta(1), 

    # 'end_date': datetime(2016, 1, 1), 

} 

 

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

 

# t1, t2 and t3 are examples of tasks created by instatiating operators 

t1 = BashOperator( 

    task_id='print_date', 

    bash_command='date', 

    dag=dag) 

 

t1.doc_md = """\ 

#### Task Documentation 

You can document your task using the attributes `doc_md` (markdown), 

`doc` (plain text), `doc_rst`, `doc_json`, `doc_yaml` which gets 

rendered in the UI's Task Details page. 

![img](http://montcs.bloomu.edu/~bobmon/Semesters/2012-01/491/import%20soul.png) 

""" 

 

dag.doc_md = __doc__ 

 

t2 = BashOperator( 

    task_id='sleep', 

    depends_on_past=False, 

    bash_command='sleep 5', 

    dag=dag) 

 

templated_command = """ 

{% for i in range(5) %} 

    echo "{{ ds }}" 

    echo "{{ macros.ds_add(ds, 7)}}" 

    echo "{{ params.my_param }}" 

{% endfor %} 

""" 

 

t3 = BashOperator( 

    task_id='templated', 

    depends_on_past=False, 

    bash_command=templated_command, 

    params={'my_param': 'Parameter I passed in'}, 

    dag=dag) 

 

t2.set_upstream(t1) 

t3.set_upstream(t1)