19 ポイント 投稿者 xguru 2025-11-27 | 2件のコメント | WhatsAppで共有
  • 「TypeScriptで書かれた耐久性があり(durable)、再開可能(resumable)なワークフローフレームワーク
  • さまざまなサービスやAPIを接続して複雑な業務フローを自動化するワークフローエンジンを提供
  • ワークフロー自動化と統合の課題を解決するために開発されたモジュール型オープンソースプラットフォーム
  • サーバーが落ちたりデプロイがあっても、状態をPostgresに保存することで、正確に最後のステップから再開して実行可能
  • step.run({ name }, fn)一度だけ実行され、結果がメモ化されるため、クラッシュ後の再起動時にもカード決済やメール送信のような副作用を重複実行せず、キャッシュされた結果を再利用
  • 専用サーバーなしでワーカープロセス(ow.newWorker({ concurrency }))がDBから pending run をポーリングして実行する構造のため、ワーカーを複数起動して高可用性・スケールアウトが可能で、step.sleep("id", "1h") のような長時間 sleepでもワーカースロットを占有しない
  • ワークフローの入力/出力ジェネリクス、バージョンフィールド(version: "v2")、run().result(), handle.cancel() などにより、型安全な定義・バージョン管理・結果取得・キャンセルをすべてコードレベルで扱えるよう設計
  • プラグインアーキテクチャにより、外部システムとの拡張やカスタマイズをサポート
  • OpenAI, Slack, GitHub, Notion など主要なSaaSおよび開発ツールとの統合をサポート
  • 現在は**PostgreSQLバックエンドと基本ランタイム機能(同時実行、リトライ、並列 step、sleep、バージョン管理、cancel)**に注力
    • 今後はCLI・ダッシュボード・idempotency key・ロールバック/補償関数・signals・OpenTelemetry・Redis/SQLiteバックエンド・Go/Python SDK などがロードマップに含まれている

2件のコメント

 
hiyama 2025-11-27

少し前に GitHub - earendil-works/absurd: An experiment in durability https://share.google/PCjaLh3j46ayECI9b これが上がっていましたが……同じコンセプトのプロジェクトに見えるのですが、どこに行ったのでしょうか……

 
click 2025-11-27

Spring Batchに似た感じですね