Cloudflare把Python Workers转正了:FastAPI、Django照跑,不再写胶水代码
Cloudflare把Python Workers标记为正式可用(GA)。这事从两年前说要做到现在,终于落定——Python从此是Cloudflare开发者平台上的头等语言,能接Workers AI、R2、D1、Hyperdrive、Durable Objects、Queues、Workflows全套绑定,还能直接跑FastAPI、Django、Flask这些框架。
技术上走的是条熟悉的老路:Workers从2018年就支持WebAssembly,这给了它一个天然环境去跑Wasm编译的Python解释器——也就是Pyodide。所以对Python开发者的承诺是"你会的都会,带进Workers就能跑",不必为边缘平台重学一套心智模型。
GA最值得说的变化,是终于不用再写胶水代码。之前要用Cloudflare的绑定,得先把Python对象显式转成TypeScript对象——往队列里塞个dict都得套一层to_js的转换。现在整个类型转换被封装进运行时和Python SDK,写self.env.QUEUE.send({"key": "value"})就行,一行JS都不用碰。对AI agent来说这极为有用,那层RPC胶水一直是人和工具的出错重灾区。
框架支持靠的是一层薄薄的桥:Python的世界观里,Web应用和服务器之间靠WSGI/ASGI这套标准接口交流,传统上由uvicorn、gunicorn这样的服务器去撑并发。在Workers里,平台本身当了那个服务器——全球网络已经替你做了负载均衡、无限扩容,所以workers.asgi/workers.wsgi连接器只负责把进来的JavaScript请求翻译成ASGI/WSGI结构,再原样把响应接回去,几乎零开销。写代码的方式不变,扩容的事交给Cloudflare。
另一个历史痛点被解决的是数据库。之前Python Workers不支持TCP套接字,导致asyncpg、aiomysql这类驱动压根跑不起来——根子在Wasm的沙箱限制。现在Hyperdrive接进来了,PostgreSQL、MySQL的驱动有了落脚处。对想用Python写、又绕不开关系库的服务,这补上了关键一块拼图。
对开发者来说,这个GA的实际含义比较朴素却很实在:用你熟的框架写API,绑定平台全家桶,还不用自己配服务器。Cloudflare的算盘一直是"把TypeScript的好用搬到Python",这次算是把承诺兑现了大半。