web.py释放数据库链接

参考:http://blog.sina.com.cn/s/blog_73951d180101eck0.htmlhtml

webpy简单易用,并且很是轻量。尤为其操做数据库很是方便。python

import web

db = web.database(dbn=DBN,host=HOST,db=DATABASE,user=USER,pw=PASSWORD, charset=CHARSET)
data = db.select(['i_project'],
                what=' p_class ',
                where='p_id = $PlatformBatchID',
                limit='1',
                vars=locals()
                )


但却不会主动释放链接,随着时间链接数会愈来愈多。mysql

监控mysql链接数web

 show full processlist;
 show status like '%conn%';


解决方法sql

1)安装DBUtilsshell

1.0)安装数据库

pip install DBUtils

1.2)使用code

db = web.database(maxshared=5,mincached=1,maxcached=5,maxconnections=10,dbn=DBN,host=HOST,db=DATABASE,user=USER,pw=PASSWORD, charset=CHARSET)

 * mincached : 启动时开启的空链接数量(缺省值 0 意味着开始时不建立链接)orm

 * maxcached: 链接池使用的最多链接数量(缺省值 0 表明不限制链接池大小)htm

 * maxshared: 最大容许的共享链接数量(缺省值 0 表明全部链接都是专用的)若是达到了最大数量,被请求为共享的链接将会被共享使用。

 * maxconnections: 最大容许链接数量(缺省值 0 表明不限制)


2)主动释放链接数及cursor

finally:
        #close cursor
        self.db._db_cursor().close()
        #close connection
        self.db._db_cursor().connection.close()
相关文章
相关标签/搜索