需求:
Postgresql数据库服务重启后,需要业务代码正常读写数据库
方案:
- 通过继承playhouse.shortcuts.ReconnectMixin和playhouse.pool.PooledPostgresqlDatabase来创建一个新的ReconnectPooledPostgresqlDatabase类
- 修改reconnect_errors属性来适配Postgresql的错误类型
- 使用ReconnectPooledPostgresqlDatabase来获取数据库连接
测试
- 启动程序 -->重起数据库服务–>读写数据库操作正常
- 启动应用程序–>关闭数据库服务–>读写数据库失败–>启动数据库服务–>读写数据库操作正常
示例:
from playhouse.pool import PooledPostgresqlDatabase
from peewee import OperationalError, InterfaceError
from playhouse.shortcuts import ReconnectMixin
class ReconnectPooledPostgresqlDatabase(ReconnectMixin, PooledPostgresqlDat

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



