Hatchet

Hatchet

Hatchet · 程式設計 · 生產力

Hatchet 是開源的工作流程編排引擎,專門處理背景任務、AI 代理與持久化執行。工作節點跑在自家雲端,每次執行都留存紀錄,可重試也可重播。

Hatchet 的介面預覽

關於 Hatchet

About

什麼是 Hatchet

Hatchet 是一套任務編排平台,寫給會寫函式、但不想再照顧佇列的團隊。任務用程式碼定義,再組成工作流程,排程、重試、併發上限與執行歷史都交給引擎。

最關鍵的設計是程式碼放在哪裡。工作流程編排引擎本身是託管服務,工作節點則跑在自家基礎設施上,Kubernetes、ECS、Railway 或開發時的筆電都行。客戶資料留在自己的雲端,只有排程用的中繼資料進到以 Postgres 為底的引擎。

Hatchet 針對的是產品從兩個背景任務長到二十個之後的混亂。自己寫的 cron 腳本、手刻重試的佇列、另一套管線工具,各解決一小塊。這裡全部走同一個模型:每個任務是一個函式,每個函式保留狀態,每次失敗都看得到堆疊追蹤。

限制講得直接。Hatchet 是給會寫程式的人用的基礎設施。沒有視覺化流程編輯器,沒有無程式碼畫布,也不可能只靠儀表板拼出正式環境的工作流程。團隊若不寫 Python、TypeScript、Go 或 Ruby,這套工具就不合適。

開始使用

  1. 在 hatchet.run 註冊帳號,從儀表板取得 API 權杖。免費方案不需要信用卡。
  2. 安裝 SDK,把第一個任務寫成普通函式,輸入與輸出都加上型別。
  3. 把任務註冊到工作節點,在自己的環境啟動該行程,讓它連回 Hatchet。
  4. 從自家 API、cron 運算式或外部事件觸發任務,再到儀表板打開該次執行,逐步查看。
  5. 主要流程跑順之後補上重試策略與併發上限,並用不同租戶區隔環境。

產品資訊

快速了解 Hatchet 的定價、支援平台與效能。

免費方案是
付費方案$0 - $30 per million task runs
平台Cloud, self-hosted, Python, TypeScript, Go, Ruby SDKs
開發者Hatchet
類別程式設計 · 生產力
發布日期Dec 2023
最近更新Oct 2026
網站訪問量110K
網站全球排名225K
API 提供狀態是

適合對象

這項工具最適合的使用者、任務與情境。

使用者

  • 想汰換自製背景任務佇列的後端工程師:搬遷只是把函式包一層,不必重寫服務,前提是團隊願意自己維運工作節點。
  • 執行多步驟代理的 AI 產品團隊:耗時的工具呼叫、模型重試、平行展開都能放進任務模型,條件是每個步驟寫得成程式碼。
  • 有租戶公平性問題的資料與平台團隊:併發鍵與各租戶上限已經內建,等於省掉一層自寫的流量控制。
  • 打算日後自架的 startup:MIT 授權留了後路,從雲端起步也能把引擎搬回自家機器,任務不用改寫。

任務

  • 背景工作處理:寄信、產生 PDF、圖片縮放、webhook 展開,全部自動重試並留下完整歷史。
  • AI 代理編排:把檢索、模型呼叫、驗證、交付拆成獨立步驟,模型呼叫失敗時不必從頭再跑一次。
  • 排程與事件驅動流程:cron 與 webhook 入口取代以往拼湊的 cron 主機加佇列消費者。
  • 大型資料匯入管線:平行步驟搭配待處理上限,流量尖峰不會拖垮系統其他部分。

情境

  • 想擺脫那套週五下午沒人敢動的脆弱 cron 設定。
  • 跑一個要三十分鐘的研究代理,中途遇到部署也不能中斷。
  • 新服務上線第一天就需要依使用者分配資源,不必在趕工中臨時寫限流器。

主要功能

以 Postgres 為底的持久化執行

每個任務與每次狀態變化都寫進 Postgres,工作節點掛掉也不會帶走進行中的工作。持久化執行代表一次執行可以暫停、等待、之後續跑,部署或斷線之後同樣成立。失敗的執行可以直接在儀表板重播,不必猜當初送進什麼輸入。

併發、速率限制與公平性

併發上限可以綁在輸入欄位上,吵鬧的單一客戶吃不下所有工作槽。全域與動態速率限制旁邊就是優先權與公平規則,適合多租戶佇列。這一塊通常是團隊自己刻完之後最後悔的部分。

以子任務組成工作流程

任務能組成 DAG,也能在執行時生成子任務,適合一次平行處理上千份文件這類展開工作。輸出會自動流向相依步驟,每個子任務各自保留重試設定。流程再長也讀得懂,因為每個步驟都只是普通函式。

事件、cron 與 webhook 觸發

工作流程可從自家 API、cron 運算式、指定時間點或外部事件啟動。內建的 webhook 入口省掉一個專門接收 Stripe 或 GitHub 回呼的服務。事件還能重放,下游客戶系統掛掉時特別好用。

OpenTelemetry 可觀測性

Hatchet 內建 OpenTelemetry 收集器,每次執行都會產生追蹤與 span,可轉送到既有的監控堆疊。應用程式日誌在儀表板支援全文搜尋與複雜篩選。任務失敗的告警會先到,不必等客戶發現信沒寄出去。

SDK 與無上限自架

官方 SDK 涵蓋 Python、TypeScript、Go 與 Ruby,同一份任務定義在雲端與自架環境都適用。自架時引擎、儀表板與 Postgres 一起跑,MIT 授權不設執行次數上限。從免費雲端起步的團隊,日後把引擎搬回自家也不用動任務程式碼。

優缺點

優點

  • 任務模型很小:一個函式、一份有型別的輸入、一份有型別的輸出,多數工程師一個下午就能上手。
  • 執行歷史真的能用,逐步狀態、日誌與重播都在,不必再翻文字檔慢慢比對。
  • 併發鍵與速率限制是一級功能,直接省掉一整層自寫的流量控制程式碼。
  • MIT 授權下的自架是可行選項,開源版不是被閹割的展示品。

缺點

  • 工作節點仍要自己部署與擴充,維運負擔只是轉移,並沒有消失。
  • 沒有視覺化流程編輯器,想讓非工程師調整自動化的團隊就不適合。
  • 執行量很大時,按次計價比固定平台月費更難預估。
  • 儀表板聚焦執行與佇列,不處理商業分析,產品報表得另外找工具。

常見問題

有免費額度。雲端方案每月包含一百萬次執行與一百萬個事件,不需要信用卡;以 MIT 授權自架引擎,除了自家基礎設施之外不花錢。