Hatchet が『軽量Temporal.io』として急成長
HatchetはOSSのDurable task実行プラットフォームで、Python/TypeScript SDKによりバックグラウンドジョブ・Cron・スケジューラ・Saga・並行処理を統一管理できます。Temporal.ioと近い思想ですが、よりシンプルなAPIと軽量な運用を志向。Self-host可能・PostgreSQL基盤で運用がシンプルで、AI/SaaSスタートアップでの採用が広がっています。
採用すべき5つのシグナル
- Celery(Python)・BullMQ(Node.js)の運用に疲れた
- Temporal.ioは過剰投資・Trigger.devは制限が多い
- OSS・Self-host要件がある
- Python/TypeScriptバックエンド中心
- PostgreSQLは既に運用している
主要機能
- Tasks: 冪等な単発タスク
- Workflows: 複数タスクの順序・並行実行
- Cron: スケジュール実行
- Concurrency Control: 並行度制御・rate limiting
- Step Failure Recovery: 失敗時の自動リトライ
- Dashboard: 全タスクの可視化UI
Celery/Temporal.io/Hatchet比較
Celery: Python標準・実績豊富・運用負荷あり(Redis/RabbitMQ)。
Temporal.io: フル機能・エンタープライズ向き・学習コスト高。
Hatchet: 軽量・OSS・PostgreSQL基盤・スタートアップ向き。
BullMQ: Node.js Redis基盤・シンプル。
使い分け: Python中心はCelery or Hatchet・大規模Temporal・新規Hatchet。
実装の基本パターン
(1) Task定義: @hatchet.task() def send_email(input): ...
(2) 呼び出し: hatchet.tasks.run('send_email', input)
(3) Workflow: @hatchet.workflow() class OnboardUser: でステップ宣言
(4) Cron: @hatchet.cron('0 9 * * *')
(5) Concurrency: @hatchet.concurrency(max_runs=10)
料金感(実務目安)
- OSS版: 完全無料・Self-host・PostgreSQL+Redis
- Hatchet Cloud: Free 1000runs/月・Pro $49〜
- Enterprise: 個別契約
本番採用の判断基準
- 本番実績: 2024年GA・AI/SaaSスタートアップ採用増
- Self-host vs Cloud: 機密データならSelf-host・運用最小化ならCloud
- PostgreSQL運用: 既存運用ノウハウを活かせる
- SDK安定性: Python/TypeScript安定・他言語は要検証
実装で詰まる3つの落とし穴
- Step粒度設計: 1Stepが大きすぎるとリトライ単位が大きくなる
- 並行制御: Concurrency設定の階層設計
- PostgreSQL負荷: 大量Task実行時のDB負荷
30日プラン
- 1週目: Hatchet Self-host or Cloud・最初のTask実装
- 2週目: Workflow・Cron・複雑な順序処理
- 3週目: Concurrency Control・rate limiting
- 4週目: ダッシュボード・本番運用・モニタリング
関連リンク
Temporal.ioは Temporal.io深掘り、Inngestは Inngest深掘り、Background Jobsは バックグラウンドジョブ設計 を参照してください。Pythonの運用は Python async実践 もどうぞ。