Skip to content
所有標籤

#durable-execution

7 篇文章

Cloudflare Workflows:把多步驟流程跑到完成

Cloudflare Workflows 把 Workers 上的多步驟流程拆成可持久化的 step:每個 step 可以 retry、sleep、waitForEvent、rollback,instance 可以查狀態、暫停、恢復或終止。Queues 適合單步背景工作;Workflows 適合要記住進度的長流程。

tech

Agent Platform 深度解析(二)— Flow Runtime:版本化流程、Checkpoint 與 Resume/Retry 機制

Flow Runtime 是 Agent Platform 的心臟:Flow 發布即不可變、Run 綁定具體 version+preset、Step 以 DAG 邊緣條件流轉、每個邊界存 checkpoint、支援 resume/retry-step 不丟失 trace 歷史。

Hatchet:一套同時處理 task queue、DAG 與 durable task 的工作流引擎

Hatchet 以 Postgres-backed control plane 統一一般 task、DAG 與 durable task;durable task 在等待與 child task 邊界 checkpoint,恢復時重播 deterministic 編排碼。

Inngest:用 step 把 serverless function 變成可恢復的工作流

Inngest 讓一般 TypeScript、Python、Go function 以 step 為持久化邊界;失敗時函式從頭執行,但已完成 step 由紀錄回填,不再重做 side effect。

Restate:把 journal、durable state 與服務呼叫放進同一個執行模型

Restate 以 journal 記錄操作與結果,失敗後重跑 handler 並跳過已完成操作;Virtual Object 與 Workflow 再提供 keyed state、single-writer 與長期協調。

Temporal:把流程寫成程式碼,崩了也能接著走完

Temporal 是 durable execution 平台(Server 1.31.2、Python SDK temporalio 1.31.0,MIT,2026-08 實查)。它跟 BullMQ / Celery 那種任務佇列的差別不是規模,是保證的東西不同:佇列保證訊息被消費,Temporal 保證一段橫跨多次外部呼叫的流程走完。代價是工作流程碼必須決定性——而 LLM 呼叫天生非決定性,這篇講這個張力怎麼解、什麼時候不划算。

Trigger.dev:用行程快照做持久任務,不要求你的程式碼有決定性

Trigger.dev 是 Apache 2.0 的持久任務平台(v4.5.12,2026-08 實查),用 CRIU 對整個 Node.js 行程做記憶體快照來暫停與復原。跟 Temporal 的 replay 模型不同,它不重跑你的編排碼、不要求決定性——LLM 呼叫直接寫在 task 裡就行。代價是快照無法保留 TCP 連線,還原後要自己重建;而且快照是 cloud-only,自架拿不到。