码迷,mamicode.com
首页 > 数据库 > 详细

mod_wsgi + pymssql访问SQL Server阻塞

时间:2014-06-16 22:19:08      阅读:334      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   http   tar   

在通过pymssql访问SQL Server时,直接在python中运行没有问题,在通过mod_wsgi和Apache进行部署时,发现所有请求都hang再数据库查询。

通过google查到了答案,感谢google,详细描述请见:https://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API

简要说一下,mod_wsgi针对每个virtual host和app mount point创建一个sub interpreter。python中有个著名的GIL,在通过C extension访问GIL State时,只有第一个sub interpreter才可以正常工作,如果使用后续的sub interpreter会导致死锁或crash,因为pymssql是一个C extension所以会有这个问题,解决方案是,添加配置项:

WSGIApplicationGroup %{GLOBAL}

强制该app使用第一个sub interpreter,使得GIL正常工作。改完后,mod_wsgi一切ok。


mod_wsgi + pymssql访问SQL Server阻塞,布布扣,bubuko.com

mod_wsgi + pymssql访问SQL Server阻塞

标签:style   class   blog   code   http   tar   

原文地址:http://blog.csdn.net/chosen0ne/article/details/31367961

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!