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