Django 生产迁移卡住:从锁等待取证到可回滚发布的排查实践
## 适用场景 生产环境执行 `python manage.py migrate` 后长时间没有结束,应用发布流水线被阻塞;或者迁移最终报出 `Lock wait timeout exceeded`、`OperationalError`。这类问题常见于 Django + MySQL/InnoDB:迁移本身很短,却在等
Tag
包含这个标签的文章。
## 适用场景 生产环境执行 `python manage.py migrate` 后长时间没有结束,应用发布流水线被阻塞;或者迁移最终报出 `Lock wait timeout exceeded`、`OperationalError`。这类问题常见于 Django + MySQL/InnoDB:迁移本身很短,却在等
## 适用场景 Python 服务或批处理脚本通过 `httpx` 调用第三方 HTTP API。流量上来后,应用日志开始出现 `httpx.PoolTimeout`,但目标接口的监控显示延迟正常;重启服务后短暂恢复,随后问题又出现。常见于 FastAPI/Django 的异步任务、数据同步程序和并发爬取工具。 本
## 适用场景 使用 Celery + Redis/RabbitMQ 承担异步任务。队列中仍有大量待执行任务,但监控显示少数 Worker 忙碌、其余 Worker 空闲;或者短任务被长任务“压住”,整体延迟持续升高。本文以默认的 `prefork` 并发池和 RabbitMQ 为例,Redis broker 的排查
## 适用场景 Linux 服务器上的 Java、Python、Go 或 Node.js 服务由 systemd 托管。发布后或依赖异常时,进程在几秒内连续退出;即使问题随后已修复,执行 `systemctl restart` 仍失败,状态显示为 `failed`,日志里出现 `Start request repea
## 适用场景 这篇文章适用于使用 Python `httpx` 调用内部 HTTP 接口、第三方 API、网关或微服务时,线上偶发出现请求超时、任务堆积、接口吞吐下降的问题。常见场景包括: - 定时任务批量调用接口; - FastAPI、Django、Celery worker 中复用 `httpx.Client
## 适用场景 在 Codex 里配置了一个定时任务,希望它每天自动生成内容,并调用线上接口完成发布。但任务执行时发现:手动运行脚本可以访问线上接口,定时任务运行时却被沙箱拦截,表现为无法访问目标域名或提示网络权限不足。 这个问题很容易误判成“没有互联网权限”,但实际根因往往不是互联网不可用,而是**定时任务使用的