这个项目能做什么
Dotflow是一个用于构建执行管道的轻量级Python库。用户通过@action装饰器定义任务,使用DotFlow.task.add()将它们链接起来,并通过调用start()来运行工作流。它提供了内置的弹性功能,包括重试、超时、指数退避以及基于检查点的失败工作流恢复。它支持四种开箱即用的执行模式:顺序(默认)、后台(非阻塞线程)、并行(所有任务同时运行)和并行组(组内并行运行,组内任务顺序执行)。
该库提供了与OpenTelemetry(追踪、指标、结构化日志)和Sentry(错误跟踪、性能监控)的内置可观测性集成。它包含一个可插拔的提供者系统,用于存储(默认内存、文件系统、AWS S3、Google Cloud Storage)、通知(Telegram、Discord)、调度(cron,具有跳过、排队、并行等重叠策略)和远程服务器报告。它还支持异步任务函数、基于类的步骤定义、任务和工作流回调,以及可配置的错误处理(在第一个失败时停止或继续执行剩余任务)。
Dotflow提供了一个CLI,无需编写额外代码即可运行、调度和管理工作流,并支持一键部署到34+云平台,包括AWS Lambda、AWS ECS Fargate、Google Cloud Run、阿里云函数计算、Kubernetes、Docker和GitHub Actions。用户可以通过实现自定义提供者来扩展其功能,用于存储、日志记录、追踪、指标等,通过抽象基类实现。
评论
0 评分人数达到10人后显示
登录后参与讨论。