用途:将流水线任务按紧急程度拆分为独立优先级的队列,避免低延迟关键任务(如 liveness)与不紧急任务(审计、批量分析)争抢 worker,从而保障延迟 SLO。资料以 KYC 流水线为例。
主要能力:在 Celery 配置中定义 4 个队列——realtime(liveness、captura,SLO < 1s)、gpu(face_match、deepfake detection,SLO < 2s)、cpu(OCR、文档处理,SLO < 3s)、async(审计、通知、分析,SLO < 30s)。通过装饰器把任务分配到队列,例如 @app.task(queue='gpu');也可在 Celery 配置中用 task_routes 做自动路由。
使用方式:为各队列启动专用 worker,例如 celery worker -Q realtime --concurrency=4 -P prefork;给关键队列分配更多 worker。GPU 队列的 worker 需能访问 GPU,使用 -P solo --concurrency=1(每个 GPU 一个进程)。用 Flower 和 Grafana 监控各队列深度。
适用场景:需要按优先级隔离任务、对延迟有分级 SLO 要求的异步任务流水线,如 KYC 中的实时检测、GPU 推理、CPU 文档处理与后台异步任务。
限制:资料未提供具体 Celery 版本、完整配置示例、部署环境要求、成本或性能实测数据;队列名称、SLO 数值与并发参数均为资料给出的示例,实际需按环境调整。