Skip to content

Instantly share code, notes, and snippets.

@jyotsa09
Created April 21, 2022 11:40
Show Gist options
  • Save jyotsa09/ba5f040151df1c2e8ae800b1eb665f35 to your computer and use it in GitHub Desktop.
Save jyotsa09/ba5f040151df1c2e8ae800b1eb665f35 to your computer and use it in GitHub Desktop.
CallBackDag
import datetime
import pendulum
from airflow import DAG
from airflow.operators.dummy import DummyOperator
from airflow.operators.bash import BashOperator
def task_failure_alert(context):
print(f"Task has failed, task_instance_key_str: {context['task_instance_key_str']}")
def dag_success_alert(context):
print(f"DAG has succeeded, run_id: {context['run_id']}")
with DAG(
dag_id="example_callback",
schedule_interval=None,
start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
dagrun_timeout=datetime.timedelta(minutes=60),
catchup=False,
#on_success_callback=None,
# on_failure_callback=task_failure_alert,
tags=["example"],
) as dag:
task1 = DummyOperator(task_id="task1")
task2 = DummyOperator(task_id="task2", on_success_callback=dag_success_alert)
task3 = BashOperator(task_id="task3",bash_command="echo 'jyotsana'" )
task1 >> task2 >> task3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment