Apache Airflow 2.2.0 已正式发布,Airflow 是一个灵活、可扩展的工作流自动化和调度系统,可编集和管理数百 PB 的数据流。项目可轻松编排复杂的计算工作流,通过智能调度、数据库和依赖关系管理、错误处理和日志记录,Airflow 可以对从单个服务器到大规模集群的资源进行自动化管理。Airflow 采用 Python 编写,具有高扩展性,能够运行其他语言编写的任务,并允许与常用的体系结构和项目集成,如 AWS S3、Docker、Kubernetes、MySQL、PostgresSQL 等。
主要更新内容
- 新功能
- AIP-39: 为 Airflow 添加(可定制的)时间表类,以实现更丰富的调度行为
- AIP-40: 添加可延迟的 "异步" 任务
- 添加 Docker 任务流装饰器
- 在仪表盘上显示来自本地设置的警报信息
- 使用 json-schema 的高级参数
- 能够测试来自 UI 或 API 的连接
- 将 Next Run 添加到 UI
- 添加默认权重规则配置选项
- 添加日历字段以在触发时选择 DAG 的执行日期
- 允许为 BashOperator 设置特定的 cwd
- 在 DAG 视图中显示导入错误
- 改进
- 改进 Airflow 用户界面的
- 将 processor_poll_interval 更名为 scheduler_idle_sleep_time
- 检查日志级别的允许值
- 修复使用 dagrun_conf 触发不存在的 dag 时的错误
- 为 TaskInstanceModelView 添加 muldelete 动作
- 避免在清除 DB 安装期间导入 DAG
- 要求在 DAG 权限上 can_edit,以修改 TaskInstances 和 DagRuns
- 使 Kubernetes 工作描述适合于一个日志行为
- 如果任务实例的状态为空或未定义,总是画出边界
- 改进了对僵尸任务的日志处理
- bug 修复
- 使 REST API 补丁用户端点的工作方式与 UI 相同
- 为已清除的任务正确设置 start_date
- 在对其状态运行更新之前,确保 task_instance 存在
- 使 AirflowDateTimePickerWidget 成为必填字段
- 在删除旧的渲染任务字段时,重试陷入僵局的事务
- 修复重试延迟为零时 retry_exponential_backoff 除以零的错误
- 改进 UI 处理日期的方式
- 错误修正:dag_bag.get_dag 应返回 None,而不是引发异常
- 只有当任务是一个有效的实例时才会显示任务模版
详情请查看更新公告。