我很高兴地宣布,Apache Airflow 2.6.0 已经发布,为社区带来了许多小型特性和改进。
Apache Airflow 2.6.0 包含超过 500 次提交,其中包括 42 个新特性、58 项改进、38 个错误修复和 17 个文档更改。
详情:
📦 PyPI: https://pypi.ac.cn/project/apache-airflow/2.6.0/
📚 文档: https://airflow.org.cn/docs/apache-airflow/2.6.0/
🛠 发行说明: https://airflow.org.cn/docs/apache-airflow/2.6.0/release_notes.html
🐳 Docker 镜像: “docker pull apache/airflow:2.6.0”
🚏 约束: https://github.com/apache/airflow/tree/constraints-2.6.0
由于变更日志相当庞大,以下是本次发布中一些值得注意的新特性。
现在可以在 Web 服务器中查看触发器日志
触发器日志已添加到任务日志中。它们与任务中的其余日志一起显示。

添加此特性需要在整个 Airflow 日志记录堆栈中进行更改,因此如果您使用远程日志记录,请务必更新您的 Provider。
网格视图改进
网格视图在此版本中获得了一些小改进。
最值得注意的是,网格视图中现在有了图表选项卡。这提供了 DAG 更集成的图表表示,在网格或图表中选择任务将在这两种视图中高亮显示同一任务。

您还可以从单个任务过滤上游和下游。例如,在上面的截图中,describe_integrity 是选定的任务。如果您选择过滤下游,结果如下

基于 DAG 级别参数的触发器 UI
现在会向触发带有 DAG 级别参数的 DAG 运行的用户显示一个用户友好的表单。

有关更多详细信息,请参阅 参数文档。
整合处理卡住的排队任务
Airflow 现在有一个单独的配置 [scheduler] task_queued_timeout,用于处理在排队中停留时间过长的任务。相比处理这些任务的旧代码,新实现更简单,卡在排队中的任务将不再遗漏并保持卡住状态。
有关更多详细信息,请参阅 Medium 上的文章 解卡 Airflow:卡住的排队任务在 2.6.0 中不再存在。
集群策略 Hook 可以来自插件
除了 Airflow 本地设置外,集群策略 Hook(例如 dag_policy)现在也可以来自 Airflow 插件。通过允许定义多个 Hook,这使得多个团队更容易在单个 Airflow 实例中运行 Hook。
有关更多详细信息,请参阅 集群策略文档。
添加了通知支持
通知框架允许您在任务实例/DAG 运行更改状态时向外部系统发送消息。例如,您可以轻松地向 Slack 发布消息
with DAG(
“slack_notifier_example”,
start_date=datetime(2023, 1, 1),
on_success_callback=[
send_slack_notification(
text="The DAG {{ dag.dag_id }} succeeded",
channel="#general",
username="Airflow",
)
],
):
截至目前,Slack 是唯一开箱即用的支持系统。然而,请关注此空间,因为很快将添加更多集成。
您也可以创建自己的通知程序供自己使用,有关更多详细信息,请参阅 通知程序操作指南文档。
感谢贡献者
感谢所有为本次发布做出贡献的人,包括 Andrey Anshin、Ash Berlin-Taylor、Brent Bovenzi、Daniel Standish、Ephraim Anierobi、Hussein Awala、Jarek Potiuk、Jed Cunningham、Josh Fell、Michael Petro、Niko Oliveira、Pierre Jeambrun、Tzu-ping Chung、Victor Chiapaikeo 以及其他 120 多人!
我特别感谢我们的发布经理 Ephraim,感谢他促成此次发布。
希望您喜欢使用 Apache Airflow 2.6.0!
分享