FastAPI + Gunicorn 下定时与启动任务的陷阱与解法

本文记录了从 Java(SpringBoot)迁移到 Python(FastAPI + Gunicorn)过程中,在定时任务与服务启动初始化环节踩的典型坑:TaskIQ scheduler/receiver 阻塞 lifespan、每个 worker 重复执行下载/上报逻辑导致超时。深入剖析了多进程模型与单进程模型的本质差异,并给出分层解决方案:容器层(entrypoint.sh)处理真正一次性任务,进程层(lifespan)管理进程内资源,任务层(独立进程)运行定时调度。

April 30, 2025 · 3 min · sivdead

DashScope Embedding 长文本支持方案

本文记录了在 LangChain + DashScope 构建知识库时,如何通过扩展 DashScopeEmbeddings 类实现长文本(>8192 tokens)的安全嵌入支持。核心方法复用 OpenAI 的 length-safe 机制,结合 DashScope 官方 tokenizer(qwen-turbo)进行精准分块与加权合并,并附有容错降级策略与 embedding_ctx_length 实测调优建议。

April 29, 2025 · 3 min · sivdead