mod_wsgi + pymssql通路SQL Server座

靠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。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

posted @ 2015-08-25 09:52  yxwkaifa  阅读(374)  评论(0编辑  收藏  举报