Xcom Exclusive ((link)) - Airflow

# Task A task_instance.xcom_push(key='processing_status', value='complete') # Task B status = task_instance.xcom_pull(key='processing_status', task_ids='task_a') Use code with caution. Custom Backends for Enterprise Needs

that use the "Airflow" name, but neither has an "Xcom Exclusive" model. Extractor Fan World XComs — Airflow 3.2.0 Documentation airflow xcom exclusive

: Set include_prior_dates=False to prevent pulling old data from previous runs. # Task A task_instance

class S3XCom(BaseXCom): @staticmethod def serialize(value): if size_of(value) > 1_000_000: s3_key = upload_to_s3(value) return "__s3_uri": s3_key return value Implement lifecycle policies to auto-delete old XCom data

For true exclusivity and performance, many teams use a . This allows you to: Store the actual data in S3, GCS, or Azure Blob Storage . Only store the reference (the URI) in the Airflow database. Implement lifecycle policies to auto-delete old XCom data.

When a task pushes a value via task_instance.xcom_push() or by returning a value (the implicit push), Airflow serializes it (using JSON or a custom serializer) and stores it in the xcom table of the Airflow metadata database. Another task pulls it with task_instance.xcom_pull() .