Python Workers 正式 GA,解除生產限制
Cloudflare Blog · 2026-09-21
背景
Python Workers 在 beta 期間有兩個卡住生產環境採用的硬限制:一是完全不支援 TCP socket,導致任何需要直連資料庫的驅動程式都無法使用;二是沒有標準化方式把第三方 Python 套件編譯成 WebAssembly,第三方套件生態幾乎打不開。
另一個較不明顯但同樣煩人的問題是 型別轉換:Python 程式要呼叫 Workers 平台 API(例如 Queues)時,必須手動把 Python dict 轉成 JavaScript 物件,寫法繁瑣且容易出錯。這些限制加總起來,讓評估邊緣運算平台的 Python 團隊很難把正式服務搬上 Cloudflare。
核心改動
GA 版本把型別轉換工作整個吃進 Workers runtime 與 Python SDK 內部,開發者不再需要手動轉換。以呼叫 Queue 為例,官方文件給出的前後對比如下。
# Before (beta)
self.env.QUEUE.send(to_js({"key": "value"},
dict_converter=js.Object.fromEntries))
# After (GA)
self.env.QUEUE.send({"key": "value"})更關鍵的是新增的 socket 系統呼叫實作:runtime 會把標準 Python socket 操作(建立連線、讀取 bytes)翻譯成對應的 JavaScript 呼叫,這使得 aiomysql、asyncpg 這類資料庫驅動可以透過 Hyperdrive 直接連 PostgreSQL 與 MySQL。同時,PEP 783 標準化了瀏覽器執行環境的 PyEmscripten 平台,讓 cibuildwheel 能直接建置並發布 WebAssembly wheel,第三方套件終於有了標準打包路徑。
框架支援方面,GA 版本透過 workers.asgi 與 workers.wsgi 兩個連接套件,讓任何符合 ASGI 或 WSGI 標準的框架都能原生執行,官方列出的支援套件包括:
- Web 框架:FastAPI、Django、Flask(透過 ASGI/WSGI 連接器)
- AI/orchestration:langchain、langchain-cloudflare、openai、mcp
- 資料庫驅動:aiomysql、asyncpg(經 Hyperdrive)
- HTTP 用戶端:requests、httpx
影響範圍
對正在評估邊緣運算平台的 Python 團隊而言,GA 代表原本因為型別轉換繁瑣或無法連資料庫而暫緩的專案,現在可以重新評估:如果服務原本卡在需要 直連 PostgreSQL/MySQL,可以檢查 Hyperdrive 加上 asyncpg/aiomysql 的組合是否已滿足需求。如果專案是用 FastAPI、Django 或 Flask 撰寫,也可以直接檢查 workers.asgi/workers.wsgi 連接器是否覆蓋現有路由與中介層行為。
對於用 langchain、openai SDK 或 mcp 做 AI orchestration 的團隊,這代表這些函式庫現在可以原生跑在邊緣節點上,值得重新比較延遲與部署複雜度。原文並未提供冷啟動時間或延遲的具體數字,團隊仍需自行針對實際工作負載做基準測試,而不是假設效能已達到某個門檻。