From 9ac15d0e325dc7f6329b4d5e84adb9496c70b633 Mon Sep 17 00:00:00 2001 From: jau1 <95550641@163.com> Date: Mon, 12 Aug 2019 17:38:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=935=E7=A7=92ping=E4=B8=80=E6=AC=A1,=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=86=E9=93=BE=E6=8E=A5=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E6=97=B6=E5=80=99=E8=AE=BE=E7=BD=AE=E8=B6=85=E6=97=B6=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysmodule/DBModule.go | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/sysmodule/DBModule.go b/sysmodule/DBModule.go index 94b75b9..8d2d0fc 100644 --- a/sysmodule/DBModule.go +++ b/sysmodule/DBModule.go @@ -76,6 +76,14 @@ type SyncExecuteDBResult struct { err chan error } +func (slf *DBModule) OnRun() bool { + if slf.db != nil { + slf.db.Ping() + + } + time.Sleep(time.Second * 5) + return true +} func (slf *DBModule) Init(maxConn int, url string, userName string, password string, dbname string) error { slf.url = url slf.maxconn = maxConn @@ -281,7 +289,7 @@ func (slf *DBResult) mapSlice2interface(data []map[string]string, in interface{} // Connect ... func (slf *DBModule) Connect(maxConn int) error { - cmd := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=true&loc=%s", + cmd := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=true&loc=%s&readTimeout=30s&timeout=15s&writeTimeout=30s", slf.username, slf.password, slf.url, @@ -292,7 +300,6 @@ func (slf *DBModule) Connect(maxConn int) error { if err != nil { return err } - err = db.Ping() if err != nil { db.Close() @@ -467,7 +474,11 @@ func (slf *DBModule) QueryEx(query string, args ...interface{}) (*DataSetList, e datasetList.dataSetList = append(datasetList.dataSetList, dbResult) //取下一个结果集 hasRet := rows.NextResultSet() + if hasRet == false { + if rows.Err()!= nil { + service.GetLogger().Printf(service.LEVER_ERROR, "Query:%s(%+v)", query, rows) + } break } }