SuperAPI AI 工具集

celery-expert

编程与开发

查看项目

更新于 10-15 12:54

技能介绍

Celery 分布式任务队列专家是一项面向 Python 异步任务处理与工作流编排的技能,定位于帮助使用者以工程化方式设计和运维 Celery 任务系统。资料将其风险等级标注为 MEDIUM,因为任务处理失败可能影响业务运营,不当序列化可能带来代码执行风险,缺少重试或超时可能导致任务堆积与系统退化,代理配置错误可能导致任务丢失或消息暴露。

用途 该技能用于定义并执行异步任务、编排复杂工作流、配置消息代理与结果后端、实现任务可靠性与调度,并建立监控与安全基线。

主要能力 核心 Celery 能力包括任务定义、异步执行、结果后端、任务状态与路由。工作流模式覆盖 chain(顺序)、group(并行)、chord(map-reduce)等 canvas 原语。代理方面对比 Redis 与 RabbitMQ 的取舍,涉及连接池与代理故障转移。结果后端支持 Redis、数据库、memcached,以及结果过期与状态跟踪。任务可靠性涵盖重试、指数退避、acks late、任务拒绝与幂等性。调度涵盖 Celery Beat、crontab、间隔任务与 solar 计划。性能涵盖预取倍数、并发模型(prefork、gevent、eventlet)与自动扩缩。监控涵盖 Flower、Prometheus 指标、任务检查与 worker 管理。安全涵盖任务签名校验、安全序列化(不使用 pickle)与消息签名。错误处理涵盖死信队列、任务超时、异常处理与日志。

使用方式 资料以测试驱动开发(TDD)为实施主线,推荐先编写失败测试,再实现最小可用逻辑,随后按模式重构并执行完整验证,示例命令包括 pytest tests/test_tasks.py -v、覆盖率检查以及针对工作流与真实代理的集成测试。核心原则包括 TDD 优先、性能意识、可靠性、可扩展性、安全性与可观测性。实施检查清单分为编码前(定义幂等策略、队列路由、结果存储需求、重试与安全要求)、实施中(时间限制、acks_late、输入校验、连接池、大结果外置)与提交前(测试通过、JSON 序列化、代理认证、结果过期、监控与死信队列)。

适用场景 适用于需要异步任务处理、定时调度、任务编排、任务可靠性保障以及生产级监控与安全加固的 Python 后端系统。

限制 资料强调若干禁止事项:不得使用 pickle 序列化、不得在无时间限制下运行、不得在结果中存储大数据、不得创建非幂等任务、不得在没有代理认证的情况下运行、不得在无认证情况下暴露 Flower。对应必须事项包括使用 JSON 序列化、设置软硬时间限制、保持任务幂等、关键任务使用 acks_late、设置结果过期、实现退避重试、使用 Flower/Prometheus 监控、校验任务输入并使用关联 ID 记录日志。具体安装命令、价格、收费与平台支持信息暂未提供。