数据库
首页 > 数据库> > sql: database is closed

sql: database is closed

作者:互联网

go服务报错:

http://xxx Request Error socket hang up, POST http://xxx -1 (connected: true, keepalive socket: false, agent status: {"createSocketCount":78,"createSocketErrorCount":0,"closeSocketCount":77,"errorSocketCount":0,"timeoutSocketCount":71,"requestCount":251,"freeSockets":{},"sockets":{"xxx:":1},"requests":{}}, socketHandledRequests: 1, socketHandledResponses: 0)

关键日志:err:sql: database is closed

解决办法:

后来发现是db实例提前关闭的问题。检查下是不是在使用连接的时候连接关闭掉了,举例:有两个步骤依次为A、B, 原因很简单, A任务里写了defer  db.close()  则B里再使用的时候就会报这个错

可以干掉defer  db.close() ,既然是全局使用的连接,直接取用就好。或者可以采取其它措施来调整逻辑。

标签:defer,http,database,xxx,db,closed,sql,close
来源: https://blog.csdn.net/HYZX_9987/article/details/116698754