SuperAPI AI 工具集

workflow-canvas

部署与运维

查看项目

更新于 10-16 05:53

技能介绍

用途:实现 Celery canvas 模式,把分散的异步任务组合成复杂、分布式的任务工作流,适合需要顺序执行、并行处理、并行后聚合以及错误回调的场景。

主要能力:

  1. 原语。Signatures(signature()/s()/si())封装任务调用参数;Chains(chain 或管道符 |)让上一个任务结果作为下一个任务首参;Groups 并行执行多个任务并返回 GroupResult;Chords 由组头部加回调组成,全部完成后触发回调;Map/Starmap 按序列逐项执行;Chunks 将大迭代对象切块处理。
  2. 高级模式。支持偏应用(先固定部分参数后延迟补全)、嵌套工作流(链内嵌和弦、组等)、on_error 错误回调、复杂多阶段流水线示例。
  3. 资源。提供 templates/ 下多种模式实现(chain-workflow.py、group-parallel.py、chord-pattern.py、complex-workflow.py、error-handling-workflow.py、nested-workflows.py);scripts/ 下 validate-canvas.sh、test-workflow.sh、generate-workflow.sh 用于校验、测试与生成工作流;examples/ 提供真实场景说明。

必要用法:需配置结果后端,例如 result_backend = 'redis://localhost:6379/0',并按需设置 result_extended、task_track_started、result_expires 等;组与和弦要求任务不忽略结果,和弦需显式 task_ignore_result=False,并依赖 Redis 2.2+。错误回调签名为 (request, exc, traceback),在工作进程内同步执行。可用 graph() 与 to_dot 输出依赖图辅助调试。

限制与建议:不要在任务中同步等待其他任务;组内任务勿忽略结果;和弦需满足 Redis 与结果后端要求;嵌套层级不宜超过 3 层;避免混用同步与异步调用;长工作流应设显式超时,错误回调应保持幂等。版本为 1.0.0,兼容 Celery 5.0+。具体命令与配置以所提供脚本和模板为准,未提供的收费、平台等信息暂无。