先说结论:Celery确实能解决AI文档处理和模型推理的异步问题,但远非开箱即用。我经历过一次OCR流水线,用Celery+Redis做任务队列,结果在高并发下频繁丢任务,排查发现是默认的ACK机制太早触发——broker标记任务完成时worker其实还在处理。核心技巧:务必设置acks_late=True,配合task_reject_on_worker_lost,才能避免任务丢失。另一个坑是结果后端:AI推理结果往往大(比如向量或JSON),直接用Redis会导致内存暴涨,建议用S3或文件系统做自定义后端,只存路径。

个人经验:Celery的prefetch_multiplier参数在GPU推理场景下要调低,默认4可能导致一个worker拉多个GPU任务排队,浪费显存。调成1更稳妥。

讨论问题:1. 你们在AI任务中怎么处理Celery的优先级?用路由还是多队列?2. 对于长时间推理任务,有没有更好的替代方案(比如Argo Workflows或Ray)?

行业视野:随着LLM推理和RAG应用爆发,任务队列从“可选”变成“必选”。Celery虽老,但生态成熟,适合中小团队快速落地;但大规模生产环境,更推荐Ray Serve或Kubernetes原生调度,Celery的扩展性和监控能力略逊一筹。