小码农

好记性不如烂笔头....

记一次peewee 数据库连接关闭的问题

爬虫运行过程中突然发现以下异常:

peewee.InterfaceError: connection already closed

没做分析,直接百度。。。。

参考链接:https://www.v2ex.com/t/359766

最后解决办法就是:每次使用完后就显式地关闭数据库。 
关闭后,连接就会放回进程池,等到要用的时候 peewee 会自动去取。

try:
    q = RegionUserList.update({RegionUserList.status: 1}).where(RegionUserList.uid == item.get('uid'))
    q.execute()
except Exception as e:
    spider.logger.info(f'修改用户状态错误:{item}')
    spider.logger.info(traceback.format_exc())
    database.rollback()
database.close()

加了一句database.close()

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注