当我用uwsgi+nginx代理Django项目时,一般情况下都是正常的,但是当我在某个get接口后端连接mssql数据库时,uwsgi一直会报错,但是用Django测试是没有问题的
后端接口
class silunjiance(APIView):
def get(self, request):
dipanhao = request.GET.get('dipanhao')
res = ressilun(dipanhao) # 问题函数
a = float(res[0][5])
weixiucankao = cankao(a)
data = {
'dph':dipanhao,
'wxjy':weixiucankao
}
res = http.JsonResponse(data)
res['Access-Control-Allow-Origin']='*'
return res
问题函数
def ressilun(dipanhao):
sql = f'''
select VIN,R1_THRUST_JUDGMENT,R2_THRUST_JUDGMENT,D1_PERPENDICULARITY,D2_PERPENDICULARITY,D1_shimL,D1_shimR,D2_shimL,D2_shimR
from WheelAlgnment
where right(VIN,8)='{dipanhao}'
'''
con1 = pymssql.connect(**********************************)
cur1 = con1.cursor()
cur1.execute(sql)
res = cur1.fetchall()
cur1.close
con1.close
if not res:
con2 = pymssql.connect(**********************************)
cur2 = con2.cursor()
cur2.execute(sql)
res = cur2.fetchall()
cur2.close
con2.close
return res
结果报502错误
后端uwsgi错误
!!! uWSGI process 596 got Segmentation Fault !!!
*** backtrace of 596 ***
/usr/local/bin/uwsgi(uwsgi_backtrace+0x24) [0x48f474]
/usr/local/bin/uwsgi(uwsgi_segfault+0x21) [0x48f821]
/lib64/libc.so.6(+0x37400) [0x7eff4fa20400]
/usr/local/lib/python3.8/site-packages/pymssql/../pymssql.libs/libssl-a65b360f.so.0.9.8e(ssl3_cleanup_key_block+0xb) [0x7eff31ed238b]
/usr/local/lib/python3.8/site-packages/pymssql/../pymssql.libs/libssl-a65b360f.so.0.9.8e(ssl3_clear+0x25) [0x7eff31ed19b5]
/usr/local/lib/python3.8/site-packages/pymssql/../pymssql.libs/libssl-a65b360f.so.0.9.8e(tls1_clear+0x9) [0x7eff31ed8d49]
/lib64/libssl.so.1.1(SSL_new+0x445) [0x7eff5093d4c5]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(+0x9bc5f) [0x7eff3055ac5f]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(+0x86f96) [0x7eff30545f96]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(+0x84e5b) [0x7eff30543e5b]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(+0x84890) [0x7eff30543890]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(+0x85363) [0x7eff30544363]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(tdsdbopen+0x502) [0x7eff3051676f]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(+0x4c94d) [0x7eff3050b94d]
/usr/local/bin/uwsgi() [0x53e970]
/usr/local/lib/python3.8/site-packages/pymssql/_mssql.cpython-38-x86_64-linux-gnu.so(+0x1fa1b) [0x7eff304dea1b]
/usr/local/bin/uwsgi() [0x4ea946]
/usr/local/lib/python3.8/site-packages/pymssql/_pymssql.cpython-38-x86_64-linux-gnu.so(+0x2484a) [0x7eff3234584a]
/usr/local/bin/uwsgi() [0x4ea946]
/usr/local/bin/uwsgi(_PyObject_MakeTpCall+0xa0) [0x4eaa30]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x8a57) [0x443dd7]
/usr/local/bin/uwsgi() [0x43a1c3]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x30d3) [0x43e453]
/usr/local/bin/uwsgi() [0x43a1c3]
/usr/local/bin/uwsgi() [0x65ace7]
/usr/local/bin/uwsgi(PyVectorcall_Call+0x5c) [0x4eca4c]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x1433) [0x43c7b3]
/usr/local/bin/uwsgi(_PyEval_EvalCodeWithName+0x910) [0x599370]
/usr/local/bin/uwsgi(_PyFunction_Vectorcall+0x91) [0x4eb2d1]
/usr/local/bin/uwsgi() [0x65ace7]
/usr/local/bin/uwsgi(PyVectorcall_Call+0x5c) [0x4eca4c]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x1433) [0x43c7b3]
/usr/local/bin/uwsgi(_PyEval_EvalCodeWithName+0x910) [0x599370]
/usr/local/bin/uwsgi(_PyFunction_Vectorcall+0x91) [0x4eb2d1]
/usr/local/bin/uwsgi(PyVectorcall_Call+0x5c) [0x4eca4c]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x1433) [0x43c7b3]
/usr/local/bin/uwsgi(_PyEval_EvalCodeWithName+0x910) [0x599370]
/usr/local/bin/uwsgi(_PyFunction_Vectorcall+0x91) [0x4eb2d1]
/usr/local/bin/uwsgi(PyVectorcall_Call+0x5c) [0x4eca4c]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x1433) [0x43c7b3]
/usr/local/bin/uwsgi() [0x43a1c3]
/usr/local/bin/uwsgi() [0x65ad68]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x30d3) [0x43e453]
/usr/local/bin/uwsgi(_PyEval_EvalCodeWithName+0x910) [0x599370]
/usr/local/bin/uwsgi(_PyFunction_Vectorcall+0x91) [0x4eb2d1]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x6bc3) [0x441f43]
/usr/local/bin/uwsgi() [0x43a1c3]
/usr/local/bin/uwsgi(_PyObject_FastCallDict+0xea) [0x4ec8ca]
/usr/local/bin/uwsgi(_PyObject_Call_Prepend+0xca) [0x4ec9da]
/usr/local/bin/uwsgi() [0x545939]
/usr/local/bin/uwsgi(_PyObject_MakeTpCall+0xa0) [0x4eaa30]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x59fa) [0x440d7a]
/usr/local/bin/uwsgi(_PyEval_EvalCodeWithName+0x910) [0x599370]
/usr/local/bin/uwsgi(_PyFunction_Vectorcall+0x91) [0x4eb2d1]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x6bc3) [0x441f43]
/usr/local/bin/uwsgi() [0x43a1c3]
/usr/local/bin/uwsgi(_PyObject_FastCallDict+0xea) [0x4ec8ca]
/usr/local/bin/uwsgi(_PyObject_Call_Prepend+0xca) [0x4ec9da]
/usr/local/bin/uwsgi() [0x545939]
/usr/local/bin/uwsgi(_PyObject_MakeTpCall+0xa0) [0x4eaa30]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x59fa) [0x440d7a]
/usr/local/bin/uwsgi(_PyEval_EvalCodeWithName+0x910) [0x599370]
/usr/local/bin/uwsgi(_PyFunction_Vectorcall+0x91) [0x4eb2d1]
/usr/local/bin/uwsgi(_PyEval_EvalFrameDefault+0x6bc3) [0x441f43]
*** end of backtrace ***
DAMN ! worker 10 (pid: 596) died, killed by signal 11 :( trying respawn ...
Respawned uWSGI worker 10 (new pid: 606)
想要在uwsgi里面调用其他的数据库进行查询结果然后返回前端,不知道还有什么其他的解决办法