我很高兴地宣布,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 服务器中查看触发器日志

触发器日志已添加到任务日志中。它们与任务中的其余日志一起显示。

Trigger logs shown in task log

添加此特性需要在整个 Airflow 日志记录堆栈中进行更改,因此如果您使用远程日志记录,请务必更新您的 Provider。

网格视图改进

网格视图在此版本中获得了一些小改进。

最值得注意的是,网格视图中现在有了图表选项卡。这提供了 DAG 更集成的图表表示,在网格或图表中选择任务将在这两种视图中高亮显示同一任务。

The new graph view

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

The new graph view can be filtered to show downstream tasks only

基于 DAG 级别参数的触发器 UI

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

Form shown for params in UI when triggering a 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!

分享

另请阅读

Apache Airflow 2.9.0:数据集和 UI 改进

Jed Cunningham

Apache Airflow 2.9.0 来了!本次带来许多令人兴奋的新数据集和 UI 特性/改进。

Apache Airflow 2.7.0 来了

Jed Cunningham

Apache Airflow 2.7.0 已发布!