SuperAPI AI 工具集

result-backend-patterns

部署与运维

查看项目

更新于 10-16 05:53

技能介绍

用途:用于配置和优化 Celery 结果后端,实现任务结果的可靠存储与读取。

主要能力:提供 Redis、数据库(PostgreSQL/MySQL 等)与 RPC(AMQP)三类后端配置模板,覆盖序列化、过期策略、连接池、压缩、性能优化与后端迁移。资源包括 templates 下的 redis-backend.py、db-backend.py、rpc-backend.py、result-expiration.py、custom-serializers.py,以及 scripts/test-backend.sh 与 scripts/migrate-backend.sh 和 examples 指南。

使用方式:按需求选择后端——高并发短保留选 Redis,长期存储与查询选数据库,仅即时消费选 RPC;将对应模板复制为 celeryconfig.py,用环境变量设置连接串(如 redis://、db+postgresql://),设置 result_serializer、result_accept_content、result_expires 等参数;用 ./scripts/test-backend.sh redis 等命令验证,用 ./scripts/migrate-backend.sh redis postgresql 进行迁移。

适用场景:首次搭建结果后端、后端迁移、结果读取失败或超时、复杂对象序列化错误、结果存储性能问题、过期结果清理、自定义序列化。

限制:要求 Celery 5.0+;序列化方面 JSON 无法直接处理复杂 Python 对象、datetime 与二进制数据,需自定义序列化器;避免使用 pickle(存在代码执行风险);RPC 为单次读取模式;部分清理功能依赖 celery beat;文中未提供具体收费与部署成本信息。