aggregate(download.expand(url=fetch_urls()))
push = PythonOperator(task_id='push_task', python_callable=push_function) pull = PythonOperator(task_id='pull_task', python_callable=pull_function) xcom in airflow
process(extract()) # XCom passed implicitly aggregate(download
Here’s a structured, useful blog post about — written for data engineers who want to move beyond basic tasks and build real DAGs. Mastering XComs in Apache Airflow: Cross‑Task Communication Without the Pain One of the first surprises when learning Airflow is that tasks run isolated from each other. You can’t just set task_2.data = task_1.data . So how do you pass a value from one task to another? XComs . xcom in airflow
@task def aggregate(results: list[str]): print(f"All results: results")