网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

怎么分析pymysql非线程安全导致的故障-创新互联

今天就跟大家聊聊有关怎么分析pymysql非线程安全导致的故障,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

10年积累的成都做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有南关免费网站建设让你可以放心的选择与我们合作。

mysqldb   这个python 驱动只支持到 python 2 . 

转到python 3 后.   无法使用了.  

启用  pymysql 这个驱动. 

在投入生产后, 发现了一些问题. 

在使用较大规模的 for id  in  [list]:

   db.query (xxxxxxxxx)   

查询数据库的时候,  出现了一些比较奇怪的网络连接层面的报错. 

数据报 的 头字节 格式错误. 

如果只是执行单个查询则是不会报错. 

经过排查,  发现这是pymysql 的bug 或者缺陷. 

即 PYmysql 不是线程安全的.   由于我们自己的组件  dba模块. 

对数据库查询做了包装.  

导致 在某些情况情况下.   python 的代码优化模块. 

对代码的优化, 出现了并行的情况. 

即前一个sql 查询没有返回的情况下,  另一个线程启动了并从同一个数据库句柄读取数据. 

导致了 数据报的格式错误. 

改进方案: 

1.  对数据库的连接 增加线程锁.  

     每一次查询 都加锁.   在异常处理中也要同时加上解锁代码. 

2. 更换为mysql.com 提供的 官方的  mysql-connector-python  驱动.  目前没有发现问题. 

看完上述内容,你们对怎么分析pymysql非线程安全导致的故障有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联-成都网站建设公司行业资讯频道,感谢大家的支持。


网页题目:怎么分析pymysql非线程安全导致的故障-创新互联
网页地址:http://bjjierui.cn/article/dgcpch.html

其他资讯