0

0

Python cadence 的 Python 客户端现状

舞夢輝影

舞夢輝影

发布时间:2026-02-24 10:49:02

|

749人浏览过

|

来源于php中文网

原创

不应在新项目中使用 cadence-python,因其已于2025年底彻底停止维护、不兼容python 3.11+、依赖过时的tchannel/thrift技术栈;唯一受支持的替代方案是temporalio,它基于grpc、原生支持async/await、完整适配python 3.9–3.14。

python cadence 的 python 客户端现状

cadence 是 Uber 开源的分布式工作流引擎(2019 年已归档,由 temporal 接续演进),其官方 Python 客户端 cadence-python 在 2025 年底已彻底停止维护,PyPI 上最后发布版本为 0.38.0(2021 年 11 月),且不兼容 Python 3.11+。

这意味着:你现在不应在新项目中使用 cadence-python,它已实质死亡。

为什么 pip install cadence-python 会失败或运行报错

常见错误现象包括:ModuleNotFoundError: No module named 'thrift'AttributeError: module 'ssl' has no attribute 'PROTOCOL_TLSv1_2'(Python 3.12+)、或 ImportError 来自 thriftpy2 的 ABI 不兼容。

  • 该客户端强依赖 thriftpy2==0.4.12,而该版本未适配 Python 3.11 的 typing 变更和 3.12 的 SSL 模块重构
  • 底层通信基于 Thrift over TChannel,而 TChannel 在 2022 年后已无活跃维护,与现代 asyncio 生态(如 httpxuvloop)完全脱节
  • PyPI 页面显示 cadence-python 最后一次 CI 通过是 2021 年,测试矩阵最高只到 Python 3.9

替代方案只有 Temporal + temporalio

Uber 将 Cadence 代码库重命名为 temporal 后,Python 生态已全面迁移。当前唯一受支持、持续更新的客户端是 temporalio(PyPI 包名),最新稳定版为 1.14.0(2026 年 1 月发布),完整支持 Python 3.9–3.14。

360AI导航
360AI导航

360导航旗下的AI网址导航站,精选互联网资源最全的AI人工智能网站

下载

立即学习Python免费学习笔记(深入)”;

  • temporalio 基于 gRPC + Protobuf,而非 Thrift,性能更好、调试更直观(可直接用 grpcurl 查看 workflow 状态)
  • 原生支持 async/await,Workflow.run()Activity.execute() 都是协程函数,无需手动管理线程池
  • 类型提示完备:temporalio.types.WorkflowIDtemporalio.common.RetryPolicy 等均带完整 stubs,IDE 自动补全可靠
  • 若你有遗留 Cadence IDL 或 workflow logic,需重写——二者 API 不兼容,没有平滑升级路径

从 cadence-python 迁移到 temporalio 的关键断点

不是“改几个 import”,而是工作流建模层的重写。最常卡住的地方是序列化逻辑和异常传播机制。

  • cadence-python 默认用 PickleSerializer,而 temporalio 默认用 JSONSerializer;若 workflow 参数含 datetimeDecimal 或自定义类,必须显式注册 CompositeSerializer
  • Cadence 的 RetryPolicy 是 dict 结构,Temporal 的 RetryPolicy 是 dataclass 实例,字段名也不同(例如 maximum_attemptsmaximum_attempts 保留,但 expiration_interval 已弃用)
  • 本地开发时,Cadence 用 cadence-server Docker 镜像,Temporal 必须用 temporalio/auto-setup(旧版 temporalio/server 已停更),端口默认从 7933(TChannel)变为 7233(gRPC)

如果你必须临时跑通老代码

仅限调试或下线过渡期,不建议长期使用。

  • 锁定 Python 3.9.19(最后一个被 cadence-python CI 覆盖的 patch 版本)
  • 手动降级:pip install thrift==0.13.0 thriftpy2==0.4.12 protobuf==3.20.3(更高版本会触发 DescriptorPool 冲突)
  • 禁用 TLS 验证(仅限本地):CADENCE_TLS_ENABLED=false,否则 tchannel 会因 OpenSSL 3.0+ 报 SSL_CTX_set_options 错误

真正麻烦的从来不是换包命令,而是 workflow 的 retry 行为、心跳超时、worker 注册逻辑这些隐式契约——它们在 Cadence 和 Temporal 中语义已有偏移。别指望靠 patch 让老客户端活过 2026 年中。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

397

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

247

2023.10.07

pip安装使用方法
pip安装使用方法

安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。

351

2023.10.09

更新pip版本
更新pip版本

更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。

427

2024.12.20

pip设置清华源
pip设置清华源

设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。

789

2024.12.23

python升级pip
python升级pip

本专题整合了python升级pip相关教程,阅读下面的文章了解更多详细内容。

362

2025.07.23

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

422

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

595

2023.08.10

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1228

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.4万人学习

Django 教程
Django 教程

共28课时 | 4.5万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号