このプロジェクトについて

Dotflowは実行パイプライン構築用の軽量なPythonライブラリです。ユーザーは@actionデコレータでタスクを定義し、DotFlow.task.add()でチェーン繋ぎ、start()を呼び出すことでワークフローを実行します。リトライ、タイムアウト、指数関数的バックオフ、チェックポイントベースの失敗リジュームなど、組み込みの耐障害性機能を備えています。組み込みの4つの実行モードをサポートしています:シーケンシャル(デフォルト)、背景(ノンブロッキングスレッド)、並列(全タスクが同時実行)、並列グループ(グループ間で並列、グループ内のタスクはシーケンシャル)。 OpenTelemetry(トレース、メトリクス、構造化ログ)およびSentry(エラー追跡、パフォーマンス監視)との組み込み観測性統合を提供します。ストレージ(インメモリデフォルト、ファイルシステム、AWS S3、Google Cloud Storage)、通知(Telegram、Discord)、スケジューリング(スキップ・キュー・並列などの重複戦略付きcron)、リモートサーバーレポートのためのプラグ可能なプロバイダシステムを搭載しています。また、非同期タスク関数、クラスベースのステップ定義、タスク・ワークフローコールバック、設定可能なエラーハンドリング(初回失敗で停止または残りのタスクを継続実行)もサポートしています。 Dotflowにはコードを追加せずにワークフローの実行・スケジューリング・管理を行うCLIが含まれており、AWS Lambda、AWS ECS Fargate、Google Cloud Run、Alibaba Cloud Function Compute、Kubernetes、Docker、GitHub Actionsを含む34以上のクラウドプラットフォームへのワンコマンドデプロイをサポートしています。抽象基本クラスを通じてストレージ、ロギング、トレーシング、メトリクスなどのカスタムプロバイダを実装することで機能を拡張できます。