SuperAPI AI 工具集

background-jobs

部署与运维

查看项目

更新于 10-15 20:30

技能介绍

用途:该技能用于构建生产级后台任务处理,提供可靠性保证。适用场景包括:处理时间超过请求超时的任务、定时或周期性任务(报表、清理、同步)、异步工作流(邮件、通知、Webhook),以及可能失败并需要重试的工作。

主要能力:采用 API 服务器→队列(Redis)→工作进程的架构,失败任务进入死信队列(DLQ)。任务状态机包含 pending、running、success、failed、retrying、cancelled。提供 TypeScript 与 Python 两种实现,包含任务类型定义、基于 Redis 的队列、任务处理器(如发送邮件、Webhook)、工作进程、死信队列管理(查看失败任务、重试、清理旧任务)、基于间隔的定时任务调度,以及基于计数器和直方图的可观测性指标。

使用方式:注册任务处理器后调用 enqueue 入队,工作进程通过 process 循环消费;失败任务按指数退避重试,超过最大尝试次数后进入 DLQ。示例中通过 queue.register('send-email', sendEmailHandler) 注册处理器,并用 scheduler.schedule 安排周期性任务。

限制与注意事项:资料未提供具体安装命令、依赖版本或收费信息。最佳实践建议始终使用指数退避、设置合理最大尝试次数(3-5 次)、监控 DLQ 大小、保证任务幂等、在日志中包含任务 ID。常见错误包括未处理工作进程崩溃(任务卡在 running 状态)、缺乏任务状态可见性、忽略 DLQ、任务非幂等、无优雅关闭。定时调度示例为简化实现,生产环境建议使用 node-cron 等库。