SuperAPI AI 工具集

background-jobs-designer

设计与创作

查看项目

更新于 10-16 03:16

技能介绍

用途:帮助设计可靠的后台任务(后台作业)处理系统,涵盖队列集成、任务定义、重试与幂等执行、监控等环节。

主要能力:支持 BullMQ(Node.js)与 Celery(Python)两种队列集成方式;定义任务类型(如发送邮件、处理支付、生成报告、同步数据);配置带指数退避的重试策略(示例延迟为 1 秒、5 秒、30 秒、5 分钟、30 分钟,最多 5 次);通过 processed_jobs 表在事务内标记已处理任务以实现幂等;监听 completed、failed、stalled 事件上报指标并记录日志;建议使用死信队列与优雅关闭。

使用方式:以 BullMQ 为例,创建 Queue 并配置 Redis 连接,用 queue.add 提交任务并指定 attempts 与 backoff;在 Worker 中执行任务,达到最大尝试次数后调用失败处理逻辑。Celery 侧以 Celery('tasks', broker='redis://localhost:6379') 初始化,任务使用 @app.task(bind=True, max_retries=3) 装饰器,失败时调用 self.retry。幂等逻辑先查询 processed_jobs,未处理则在数据库事务中插入标记并执行工作。

适用场景:需要异步执行、可重试、可观测的后台任务系统,如邮件发送、支付处理、报表生成、数据同步。

限制:资料未提供具体运行环境、依赖版本、部署方式、性能指标、授权或收费信息,这些内容暂未提供。示例代码仅作说明,实际使用需自行验证与调整。