Closed LeanderChen closed 3 years ago
从报错中无法定位问题,以下是一点猜想和建议:
from gevent import monkey
monkey.patch_all()
...
monkey.patch_all()
整行注释掉试试感谢作者和社区的关注!已迂回解决,但未知原因。
全部报错信息和其他可用信息(包括排查过OS、性能参数等)确实无法诊断原因,最终的解决是把响应信息列表中一个字段在包装json响应前,从数值类型转换为字符串类型。
由于问题特殊性,复现条件比较苛刻,便不再深究。以下问题关键词,不在提问问题实际因素(无关
)中:
初步推测原因,在业务层、框架模型层,对视图响应包装某处处理不规范。要忙着项目进度了,Bug链路追踪先按下不表。
(1) 安装python 3.6.9解释器(生产采用宝塔国内镜像) (2) 创建项目(以下步骤通过
python项目管理器
一键完成,等价于以下手动步骤)(3) 启动项目(以下步骤通过
python项目管理器
一键完成,等价于以下手动步骤)(4) 个例测试环境正常接口出错,debug日志信息如下:
(1) gunicorn.conf
PS: 社区朋友提出猴子补丁的非阻塞改造,以及补丁引入顺序可能造成递归超限错误,故此作了1-6行引入。
(2) 异常接口在测试环境(未使用gunicorn的development环境)的响应结果: