首页
/ Prefect项目3.3.6版本发布:动态基础设施直接提交工作流功能进入Beta阶段

Prefect项目3.3.6版本发布:动态基础设施直接提交工作流功能进入Beta阶段

2025-06-02 10:21:53作者:卓艾滢Kingsley

Prefect是一个现代的工作流编排系统,它帮助开发者构建、调度和监控复杂的数据管道。在最新的3.3.6版本中,Prefect引入了一项令人兴奋的新功能——直接向动态基础设施提交工作流的能力。

动态基础设施直接提交工作流功能详解

这个Beta版本的核心特性是新增的基础设施装饰器,它允许开发者直接将工作流提交到各种动态基础设施环境中执行,而无需管理持久化的工作节点或进行多次部署。这一创新极大地简化了工作流定义,提高了工作流在不同环境间的可移植性。

新功能通过@kubernetes装饰器实现了一个优雅的解决方案。开发者只需简单地在工作流函数上添加装饰器,就能指定该工作流应该在哪个Kubernetes集群中运行。例如,下面的代码展示了如何定义一个在名为"olympic"的Kubernetes工作池中运行的工作流:

from prefect import flow
from prefect_kubernetes import kubernetes

@kubernetes(work_pool="olympic")
@flow(result_storage="s3-bucket/remote-result-storage")
def my_k8s_flow():
    return "🏊‍♀️ Finished another lap!"

这个工作流可以被其他工作流调用,也可以像普通函数一样直接调用,但实际执行会在指定的Kubernetes集群中进行。这种抽象使得基础设施的选择对开发者变得透明,大大降低了使用门槛。

版本亮点功能

除了核心的动态基础设施支持外,3.3.6版本还包含了一系列重要改进:

  1. 任务模块服务:新增了服务整个模块中所有任务的选项,简化了批量任务的部署和管理。

  2. 未来结果解析:引入了resolve_futures_to_results函数,为异步编程提供了更好的支持。

  3. 并发控制增强:为部署创建和更新路由添加了全局并发ID,提高了系统的并发处理能力。

  4. 部署版本信息:在prefect deploy命令中增加了部署版本信息显示,方便开发者追踪部署历史。

  5. Docker支持:新增了@docker装饰器,扩展了动态基础设施的支持范围。

技术实现细节

新版本在技术实现上做了多项优化:

  1. 基础设施装饰器:通过基础设施装饰器模式,将基础设施配置与业务逻辑解耦,提高了代码的可维护性。

  2. 父子流程关联:自动将提交的流程与其父流程关联,完善了流程执行的追踪链条。

  3. 选项配置:为InfrastructureBoundFlow实现了with_options方法,提供了更灵活的配置方式。

  4. 版本推断优化:改进了版本推断机制,提升了用户体验。

问题修复与稳定性提升

3.3.6版本也修复了多个重要问题:

  1. 更新了pydantic-settings的版本依赖,解决了潜在的兼容性问题。

  2. 修复了复合触发器中的事件传播问题,确保了触发逻辑的正确性。

  3. 解决了重连时的警告问题,提高了系统的稳定性。

开发者体验改进

Prefect团队始终关注开发者体验,在这个版本中:

  1. 将装饰函数发现逻辑从CLI中移出,提高了代码的组织性和可维护性。

  2. 为Nginx配置提供了示例,并明确了客户端API密钥和认证字符串的优先级规则。

结语

Prefect 3.3.6版本通过引入动态基础设施直接提交工作流的功能,为工作流编排带来了新的可能性。这项功能目前处于Beta阶段,Prefect团队非常期待用户反馈以进一步完善它。对于需要在多种环境中运行工作流的开发者来说,这个版本无疑提供了更简单、更灵活的解决方案。随着Docker和Kubernetes支持的不断完善,Prefect正在成为跨基础设施工作流编排的有力竞争者。

登录后查看全文
热门项目推荐
相关项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
kernelkernel
deepin linux kernel
C
22
5
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
596
57
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K