首页龙虾技能列表 › K8s Prefect Flow Builder — 构建Prefect工作流

K8s Prefect Flow Builder — 构建Prefect工作流

v1.0.0

在此仓库中构建、修改和审查基于Prefect的离线编排流程。用于添加新的Prefect流程、将现有离线计算封装为流程或任务、编辑prefect.yaml、按资源配置文件拆分部署、配置资源或并发,或对齐CI、Prefect和Kubernetes部署行为。

0· 96·0 当前·0 累计
by @exenvitor (ExenVitor)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/23
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能是一个仅提供指令的Prefect v3流程编写指南,其请求/声明的表面范围与该目的一致。
评估建议
该技能是一个以仓库为中心的Prefect v3流程创建和部署指南;它包含模式和模板,但不请求凭据或安装软件。使用前:请确保您的CI/Kubernetes密钥(PREFECT_API_URL、PREFECT_DEPLOY_IMAGE和运行时Secrets/ConfigMaps)得到安全管理,确认目标Prefect/Kubernetes版本与模板匹配,并在应用前检查生成的prefect.yaml或CI部署命令。如果需要该技能执行自动化操作(通过CI部署),请验证这些CI任务运行在可信环境中——该技能本身不执行网络I/O或密钥访问。...
详细分析 ▾
用途与能力
名称和描述与SKILL.md和包含的参考文档的内容相匹配;所有建议和所需工件(prefect.yaml、src/prefect_flows/、CI变量)与构建Prefect流程相一致。
指令范围
运行时指令仅限于仓库约定、本地文件以及Prefect/Kubernetes/CI配置指导。没有命令、外部端点或指令来读取任意系统文件或泄露数据。
安装机制
没有安装规范和代码文件——该技能是纯指令式的,因此在安装过程中不会写入磁盘或下载任何内容。
凭证需求
SKILL.md引用了CI提供的部署时值(PREFECT_API_URL、PREFECT_DEPLOY_IMAGE)和通过env_from的Kubernetes运行时环境;不请求凭据或无关的环境变量。
持久化与权限
always为false,且该技能仅可由用户调用。没有迹象表明它会修改其他技能或需要持久的提升权限。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/23

- prefect-flow-builder技能的初始版本。- 为在仓库中添加、修改和审查基于Prefect的离线编排提供了清晰的指南。- 概述了流程结构、编排与业务逻辑分离、并发控制和部署配置的最佳实践。- 包含用于分类和验证更改的工作流,以及用于进一步指导的仓库锚点和参考文档。- 记录了Prefect v3任务、流程和部署的默认行为和使用建议。

● 无害

安装命令 点击复制

官方npx clawhub@latest install k8s-prefect-flow-builder
镜像加速npx clawhub@latest install k8s-prefect-flow-builder --registry https://cn.clawhub-mirror.com

技能文档

概述

使用此技能在此仓库中添加或重构Prefect管理的离线工作流,而无需将编排关注点混入业务逻辑。

工作流

  • 对变更进行分类。
- 新流程或重大重构:阅读references/flow-design.mdreferences/template-prefect-yaml.md。 - 仅部署或配置变更:阅读references/deployment-patterns.md。 - 资源或并发调整:阅读references/resources-and-concurrency.md。 - 如果系统模型不清晰,先阅读references/architecture.md

  • 将编排与计算分离。
- 将繁重的业务逻辑放在src/core/...下的可重用job或service模块中。 - 将Prefect包装器保留在src/prefect_flows/...中。 - 使用任务作为独立可观察的单元或有意义的副作用;避免仅仅为了结构化而将一个逻辑步骤拆分为许多微小任务。 - 谨慎选择任务调用模式:直接调用用于简单的串行执行,.submit().map()用于流程内并发,.delay()仅用于在单独基础设施上的后台执行。 - 如果子流程故意是串行的,请在循环内直接调用任务,并让子流程拥有错误聚合和最终失败语义。不要仅仅因为单元是一个任务就默认使用.submit()。 - 仅在实际需要Prefect futures、并行扇出或非阻塞等待和收集行为的情况下保留.submit(),并确保在流程返回之前解析终端futures。 - 仅在需要单独的扩展、资源或故障边界时才引入子流程。

  • 将并发控制放在正确的层。
- 仅将任务运行器并发用于流程内任务执行;它不能替代部署或基础设施节流。 - 使用部署、工作池、工作器或工作队列限制来控制平台启动多少流程运行。 - 当多个流程中的任务共享外部瓶颈(如数据库、API或内存密集型资源)时,使用基于标签的并发限制。

  • prefect.yaml视为部署的真实来源。
- 将部署名称、调度、工作池选择、资源、并发策略和部署参数默认值放在prefect.yaml中。 - 让CI仅提供部署时值,如PREFECT_API_URLPREFECT_DEPLOY_IMAGE。 - 通过env_from在Kubernetes中保留运行时业务环境,而不是CI。 - 保持基础设施选择与Prefect的worker模型对齐:部署针对工作池,工作器轮询兼容的池来执行运行。

  • 使故障可观察。
- 引发异常而不是静默返回非零代码。 - 在异常消息和日志中包含关键上下文。 - 使用可读的流程和任务名称,以便Prefect UI能快速识别失败的单元。 - 当批处理必须在每个项目失败后继续时,将每个项目转换为结构化结果,完成批处理,然后在流程边界处如果聚合结果应该失败则一次性引发异常。

  • 按此顺序验证。
- 对更改的流程和job代码运行针对性测试。 - 检查prefect.yaml是否有部署或资源偏差。 - 在启用或更改调度之前触发一个小规模的手动运行。 - 如果问题是关于Prefect语义而不是仓库约定,请在编纂模式之前对照官方v3文档进行验证。

仓库锚点

  • 流程入口点:src/prefect_flows/
  • 可重用计算逻辑:src/core/
  • 部署定义:prefect.yaml
  • 团队指南:docs/cg_offline_prediction/prefect_orchestration_overview.md

Prefect v3默认值

  • 任务在v3中支持三种不同的执行模式:直接调用阻塞并返回结果,.submit()返回PrefectFuture用于在同一流程中并发执行,.delay()用于在单独工作器上进行后台执行。
  • 任务运行器是可选的。如果您不是故意使用并发,不要仅仅为了保留任务装饰器而引入.submit()或任务运行器配置。
  • 任务状态在客户端编排,可能在UI中显示为最终一致性,因此围绕持久的业务结果设计恢复和恢复逻辑,而不是假设每个中间任务状态转换都是真实来源。

参考资料

  • 了解系统模型和生命周期,请参阅references/architecture.md
  • 了解部署设计和配置所有权,请参阅references/deployment-patterns.md
  • 了解如何将现有jobs封装为流程和任务,请参阅references/flow-design.md
  • 了解大小和并发决策,请参阅references/resources-and-concurrency.md
  • 了解可重用的部署模板,请参阅references/template-prefect-yaml.md
  • Prefect v3任务:https://docs.prefect.io/v3/concepts/tasks
  • Prefect v3任务运行器:https://docs.prefect.io/v3/concepts/task-runners/
  • Prefect v3流程:https://docs.prefect.io/v3/concepts/flows
  • Prefect v3部署:https://docs.prefect.io/v3/concepts/deployments
  • Prefect v3工作器:https://docs.prefect.io/v3/concepts/workers
  • Prefect v3基于标签的并发限制:https://docs.prefect.io/v3/concepts/tag-based-concurrency-limits
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务