Event-driven планирование (Event-driven scheduling)
Event-driven scheduling — подвид data-aware планирования: DAG запускается при появлении сообщений в очереди (SQS, Kafka и т.д.). Подходит для реакций на внешние события: доставка данных во внешнюю систему, события IoT, пайплайны инференса.

Ключевые понятия: Asset — сущность данных; AssetEvent — одно обновление ассета (в контексте event-driven — сообщение из очереди); AssetWatcher — следит за триггером и при срабатывании обновляет ассет; Trigger (наследник BaseEventTrigger) — асинхронно опрашивает очередь, при новом сообщении создаёт TriggerEvent, сообщение удаляется из очереди. В Airflow 3 поддерживаются Amazon SQS и Apache Kafka (через Common Messaging и провайдеры Amazon/Kafka).
Пример с SQS: задать connection с region_name в extra; установить провайдеры (amazon, common-messaging); создать очередь; в DAG задать MessageQueueTrigger(aws_conn_id=..., queue=URL, waiter_delay=...), ассет с AssetWatcher на этот триггер, schedule=[sqs_queue_asset]. Задача получает triggering_asset_events из контекста и обрабатывает тело сообщения. Для Kafka используется MessageQueueTrigger с queue=kafka://... и apply_function для разбора сообщения; connection и провайдер Kafka настраиваются отдельно. DAG может быть запущен с logical_date=None для одновременных run.
Подробнее: Event-driven scheduling, Assets and data-aware scheduling.