Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. from airflow import DAG
  2. from airflow.operators.bash_operator import BashOperator
  3. from datetime import datetime, timedelta
  4.  
  5.  
  6. # default args for dags configuration
  7. # you can refer to documentation
  8. default_args = {
  9. 'owner': 'airflow',
  10. 'depends_on_past': False,
  11. 'start_date': airflow.utils.dates.days_ago(1),
  12. 'email': ['airflow@example.com'],
  13. 'email_on_failure': False,
  14. 'email_on_retry': False,
  15. 'retries': 1,
  16. 'retry_delay': timedelta(minutes=5),
  17. # 'queue': 'bash_queue',
  18. # 'pool': 'backfill',
  19. # 'priority_weight': 10,
  20. # 'end_date': datetime(2016, 1, 1),
  21. }
  22.  
  23. # run daily at 11 am according
  24. dag = DAG('medium_snap_daily', default_args=default_args, schedule_interval='0 11 * * *')
  25.  
  26. # using jinja template
  27.  
  28. run_python_file = """
  29. cd `pwd`;
  30. cd snapshot;
  31. python {{params.file_name}};
  32. """
  33.  
  34. task1 = BashOperator(
  35. task_id = 'take_snapshot',
  36. bash_command = run_python_file,
  37. params = {"file_name":"take_snapshot.py"},
  38. dag = dag,)
  39.  
  40. task2 = BashOperator(
  41. task_id = 'upload_to_dropbox',
  42. bash_command = run_python_file,
  43. params = {"file_name":"upload_to_dropbox.py"},
  44. dag = dag,
  45. )
  46.  
  47. task2.set_upstream(task1)
  48. task1 >> task2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement