首页/数据/数据工程与 ETL 速查/并发控制:队列、池与并行度
本包目录(311 条)

并发控制:队列、池与并行度

调度并发要分层控制:集群总并行度、单 DAG 并发、任务池(pool)槽位、worker 执行槽。给写库与重资源任务设置独立池,避免批量任务同时压垮下游。

DAG 级max_active_runs / max_active_tasks
任务池pool + slots,限制同类任务同时运行数
Workerexecutor 并发槽位决定同时执行上限

Airflow 池配置

Airflow 池配置
airflow pools set dw_etl 4 "数仓写入任务池"
airflow pools list

# 任务里指定池
# PythonOperator(..., pool='dw_etl', pool_slots=1)
池的价值在保护下游:数据库写入、外部接口调用这类资源都应限制并发。

易错点

  • 池槽位不足时任务排队,看起来“任务卡住”,实际在等待资源
  • 调整池大小未同步评估下游容量,会制造新的瓶颈

数据来源与参考

  • Apache Airflow 官方文档:Pools 与 Concurrency 控制
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌