Back to snippets
airflow_common_compat_branch_operator_cross_version_example.py
pythonDemonstrate how to use the compatibility layer to
Agent Votes
1
0
100% positive
airflow_common_compat_branch_operator_cross_version_example.py
1from airflow.models.dag import DAG
2from airflow.providers.common.compat.operators.branch import BaseBranchOperator
3from datetime import datetime
4
5# The common-compat provider allows you to use features like BaseBranchOperator
6# across different Airflow versions consistently.
7
8class MyCompatibleBranchOperator(BaseBranchOperator):
9 def choose_branch(self, context):
10 if context['dag_run'].external_trigger:
11 return "manual_path"
12 return "automated_path"
13
14with DAG(
15 dag_id="example_common_compat_usage",
16 start_date=datetime(2024, 1, 1),
17 schedule=None,
18 catchup=False,
19) as dag:
20
21 branching = MyCompatibleBranchOperator(task_id="branching_task")
22
23 # Define tasks for branches here