Agent Skills
返回列表
🤖

Prefect Python 数据管道编排

AI Agent 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/prefect-python-workflow-orchestration-data-pipelines 技能。

技能介绍

解决什么问题

在数据处理场景中,我们常遇到这些痛点:脚本执行到一半因网络波动失败,需手动重跑并跳过已成功步骤;任务间依赖关系复杂,难以直观追踪执行状态;缺乏统一的监控手段,无法快速定位异常节点。这些问题在需要定期运行、涉及多步骤的数据管道中尤为突出。

技能如何工作

Prefect 通过 装饰器驱动 的方式解决上述问题,核心能力包括:

  • 动态调度:通过 @flow 和 @task 装饰器将普通函数转化为可观测的流程与任务,自动管理依赖关系
  • 弹性执行:内置自动重试机制(支持指数退避),可针对网络请求、API 调用等不稳定操作配置重试策略
  • 状态持久化:所有任务状态实时存储,支持断点续跑,避免重复计算已完成步骤
  • 可观测性:通过自托管服务器或云端面板查看流程执行图、任务耗时、日志输出等关键指标

关键步骤示例:

  1. 定义任务函数并添加 @task 装饰器,声明重试策略和缓存规则
  2. 创建流程函数并添加 @flow 装饰器,通过 .submit() 方法并行调度任务
  3. 运行流程后,通过 Web UI 实时查看各任务状态和资源消耗

适用边界

  • 要求 Python 3.10+ 环境
  • 自托管模式需额外部署 Prefect 服务器,云端模式需注册账号
  • 适合 ETL 任务、数据清洗、批量处理等场景,不建议用于毫秒级实时流处理
  • 复杂业务逻辑建议拆分为多个独立流程,避免单个流程过长导致可维护性下降

使用场景

  • 数据工程师需要从多个 API 拉取数据写入数仓,某次请求超时后希望自动重试而非手动重跑整个流程
  • 分析师每周定时从数据库导出销售数据生成报表,想在任务失败时收到通知并查看执行日志
  • 运维人员管理一批 ETL 脚本,需要在自托管面板上看到每个步骤的耗时和状态,快速定位卡住的任务
  • 开发者编写爬虫抓取 GitHub 仓库信息,希望中间结果缓存起来,避免每次运行都重复请求

适合人员

  • 数据工程师,需要用 Python 搭建可靠的 ETL 管道并在失败时自动重试
  • 后端开发者,定时执行数据同步任务并希望统一查看执行状态和日志
  • 数据分析师,编写脚本从数据库拉数生成报表,想在任务出错时收到提醒
  • 平台运维人员,负责维护一批离线数据处理脚本并监控其运行健康度