用途:该技能面向后台任务(异步处理)场景,帮助在请求-响应周期之外执行任务,覆盖任务队列模式、调度、工作池管理、重试策略与监控,适用于不同框架和语言。
主要能力:
- 任务队列模式:以 Bull(Node.js/Redis)为例,展示队列配置、任务数据接口、队列工厂、处理器定义、进度更新、添加任务与批量添加;以 Celery(Python)为例,展示应用配置、带重试逻辑的基础任务、任务链(chain)、组(group)与和弦(chord);以 Sidekiq(Ruby)为例,展示服务端/客户端配置、worker 选项、重试退避与重试耗尽处理、批处理(Batches,Pro 功能)。
- 定时任务与 Cron:Bull 的可重复任务(cron 表达式、every 毫秒)、列出与移除可重复任务;Celery Beat 的 beat_schedule 配置,以及基于 django_celery_beat 的动态调度。
- 工作池管理:Bull 的工作池类,含并发、限流、优雅关闭(SIGTERM/SIGINT)、事件处理与队列统计;Celery 的 worker 并发、预取、子进程重启与内存限制、任务路由与按队列启动 worker 命令。
使用方式:资料给出各框架的配置与代码示例,包括队列创建、任务注册、调度设置与 worker 启动命令(如 celery -A tasks worker -Q email --concurrency=4)。具体安装命令与依赖版本暂未提供。
适用场景:需要异步执行邮件发送、图像处理、订单流程、批量导入、定时清理与报表等任务的系统。
限制:资料为模式与示例集合,未提供完整项目结构、部署方案、性能基准或收费信息;部分功能(如 Sidekiq Batches)标注为 Pro 功能,具体可用性需以对应产品为准。