I'm working on this airflow dag file to do some test with XCOM, but not sure how to use it between python operators. Can someone please help how to write the logic to pass a message between the python operators using XCOM push and pull functions. Below is the dag file that i'm working on...
The question is how to pass a message from each task to another task
@dag_factory
def create_dag():
with DAG(
dag_id="DSStest",
default_args=default_args,
schedule_interval=timedelta(1),
) as dag:
# Define operators here, for example:
output_file = path_in_workspace("testout")
rscript_file = path_in_workspace("rtest2.R ")
bcmd1 = "downloading some file here..."
t0 = PythonOperator(
task_id="start",
python_callable=my_func2,
provide_context=True,
op_args=[output_file, 0],
)
t1 = PythonOperator(
task_id="job1",
python_callable=my_func1,
provide_context=True,
op_args=[output_file, 1],
)
t2 = PythonOperator(
task_id="job2",
python_callable=my_func1,
provide_context=True,
op_args=[output_file, 2],
)
t10 = PythonOperator(
task_id="job10",
python_callable=my_func2,
provide_context=True,
op_args=[output_file, 10],
)
t20 = BashOperator(
task_id="job20",
bash_command=bcmd1,
queue={
"worker_type": "png-bash-worker",
"request_memory": "1G",
"request_cpu": 1,
},
)
# Define dependencies between operators here, for example:
t0 >> t1
t0 >> t2
t1 >> t10
t2 >> t10
t10 >> t11
t11 >> t20
return dag # Do not change this