Temporalは、アプリケーションのWorkflowを実行し、失敗したステップを自動で再試行する耐障害性の高い実行プラットフォームです。
dbos-inc/dbos-transact-py
Postgresに状態をチェックポイントとして保存し、プログラムに耐久性のあるワークフローとタスクキューを追加するPythonライブラリです。
代替できる製品:Temporal
- スター
- 1,666
- フォーク
- 116
- 未解決の Issue
- 8
- 最終コミット
- 一昨日
これは何?
DBOS Transactは、耐久性のあるワークフローを構築するためのオープンソースのPythonライブラリです。通常の関数にワークフローやステップとしてアノテーションを付けると、その進捗がPostgresにチェックポイントとして保存されます。プロセスがクラッシュしたり再起動したりしても、ワークフローは最初からやり直すのではなく、最後に完了したステップから再開します。
耐久性のあるキュー、スケジューリング、通知機能も備えており、いずれもPostgresを基盤としています。ワークフローからキューに登録したタスクは、処理が中断されても確実に完了し、結果が呼び出し元に返されます。キューでは、並行実行数、レート制限、タイムアウト、重複排除、優先順位を設定できます。Cronベースのスケジュールや耐久性のあるsleepを使えば、ワークフローを数日から数週間待機させることもできます。
別途オーケストレーター、メッセージブローカー、キューイングサービスを用意する必要はなく、必要なインフラはPostgresデータベースだけです。ワークフローはPostgresの行として保存されるため、クライアントAPIを通じて検索、一時停止、再開したり、特定のステップから分岐させたりできます。
主な機能
- 01ワークフローとステップの状態をPostgresにチェックポイントとして保存し、障害後も処理を再開できます。
- 02並行実行数、レート制限、タイムアウト、重複排除、優先順位に対応した耐久性のあるタスクキュー。
- 03再起動後も維持されるCronベースのスケジューリングと耐久性のあるsleep。
- 04メッセージが届くまでワークフローを一時停止できる、耐久性のある通知とイベント。
- 05ワークフローの検索、一時停止、再開、分岐を行えるプログラム用クライアント。
ユースケース
- 処理の途中でサーバーがクラッシュしても完了させる必要がある、決済や注文処理。
- 最初からやり直すのではなく、チェックポイントから再開する長時間実行のデータパイプライン。
- 不安定または非決定的なAPIを呼び出すAIエージェントの運用。
- バックグラウンドでWebhookやKafkaメッセージを厳密に一度だけ処理する用途。
クイックスタート
- 1
クイックスタートガイドに従ってライブラリをインストールし、Postgresデータベースに接続します
- 2
関数に @DBOS.workflow() と @DBOS.step() を付けて、耐久性を持たせます
使う前に知っておきたいこと
- ワークフローの状態を保存するために、Postgresデータベースが必要です。
- Python専用のライブラリのため、他の言語には対応していません。
収録されている特集
トピック
よくある質問
- dbos-transact-py とは?
- Postgresに状態をチェックポイントとして保存し、プログラムに耐久性のあるワークフローとタスクキューを追加するPythonライブラリです。 DBOS Transactは、耐久性のあるワークフローを構築するためのオープンソースのPythonライブラリです。通常の関数にワークフローやステップとしてアノテーションを付けると、その進捗がPostgresにチェックポイントとして保存されます。プロセスがクラッシュしたり再起動したりしても、ワークフローは最初からやり直すのではなく、最後に完了したステップから再開します。
- dbos-transact-py は無料で使えますか?ライセンスは?
- dbos-transact-py は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dbos-transact-py は今もメンテナンスされていますか?
- 活発にメンテナンス中。dbos-transact-py の最終コミットは 2026年11月4日 です。
- dbos-transact-py は何に使えますか?
- 処理の途中でサーバーがクラッシュしても完了させる必要がある、決済や注文処理。 最初からやり直すのではなく、チェックポイントから再開する長時間実行のデータパイプライン。 不安定または非決定的なAPIを呼び出すAIエージェントの運用。 バックグラウンドでWebhookやKafkaメッセージを厳密に一度だけ処理する用途。
- dbos-transact-py のインストール方法は?
- クイックスタートガイドに従ってライブラリをインストールし、Postgresデータベースに接続します 関数に @DBOS.workflow() と @DBOS.step() を付けて、耐久性を持たせます
- dbos-transact-py はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/dbos-inc/dbos-transact-py
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
バックグラウンドタスク、AIエージェント、永続ワークフローをオーケストレーションするエンジン。Python、TypeScript、Go、RubyのSDKを備え、永続化レイヤーにPostgresを採用。
マイクロサービス、AIエージェント、適応型ワークフローグラフをオーケストレーションする、複数言語のワーカーに対応したオープンソースの耐障害性実行エンジン。
スクリプトをスケジュール実行、リトライ、キャッシュ、イベントベースの自動化に対応した本番データパイプラインへ変換する、Python製ワークフローオーケストレーションフレームワーク。
Restateは、インフラ障害が発生しても処理を継続できる、耐障害性の高いアプリケーションを構築するためのランタイムです。
サイドカーを通じて、分散アプリケーションやAIエージェントに耐障害性のあるワークフロー、サービス間セキュリティ、状態管理、Pub/Subを提供するポータブルなランタイムです。