国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于my sql has goen away 與 client_id is invalide 這兩個(gè)今天出現(xiàn)的錯(cuò)誤

weoweo520

用workerman 有一段時(shí)間了 由于業(yè)務(wù)量不大 ,所以也沒(méi)有發(fā)現(xiàn)什么問(wèn)題 。
最近幾天 業(yè)務(wù)量較大 。我在后臺(tái) debug 下發(fā)現(xiàn)了兩個(gè)重要錯(cuò)誤。

一個(gè)是 在sql 查詢的時(shí)候 突然報(bào)出 my sql has gone away .

另一個(gè)是 客戶端 上去 直接說(shuō) client_id is invalide ,這個(gè) client_id 是由wm系統(tǒng) 分配的 怎么還無(wú)效了?

以上兩個(gè)問(wèn)題 分別有截屏 請(qǐng)求解答 感謝。

3883 3 0
3個(gè)回答

walkor 打賞

mysql has gone away 是由于mysql鏈接被mysql服務(wù)端斷開(kāi)導(dǎo)致的,GatewayWorker的DbConnection是有判斷這種情況,發(fā)現(xiàn)mysql has gone away會(huì)嘗試重連一次,如果重連還是失敗,則會(huì)拋出你截圖中的異常。
所以你截圖中的mysql has gone away錯(cuò)誤很可能是mysql服務(wù)端的問(wèn)題,比如mysql服務(wù)端有kill腳本定時(shí)殺死耗時(shí)mysql線程等,導(dǎo)致鏈接斷開(kāi)(這里只是比如,具體問(wèn)題還得你自己定位)。

第二個(gè)錯(cuò)誤closeClient你傳了個(gè)空的client_id過(guò)去,所以會(huì)報(bào)錯(cuò)。
Context.php源碼中異常部分代碼如下

    if (strlen($client_id) !== 20) {
        throw new Exception("client_id $client_id is invalid");
    }

你的異常消息是 client_id is invalid,可以看出$client_id傳了個(gè)空,調(diào)用棧都有,可以自行打日志看下。

  • weoweo520 2016-08-08

    我看到 長(zhǎng)連接的mysql 服務(wù)端 在長(zhǎng)時(shí)間 收不到請(qǐng)求的情況 會(huì)主動(dòng)斷來(lái)連接。 那么我在使用的時(shí)候是按手冊(cè)里提供的方法 $sql_r=Db::instance('ms')->select('money,tableNum')->from('msr_info')->where("msrId='$search_mid'")->row(); 來(lái)獵取數(shù)據(jù)的 這個(gè)語(yǔ)句不知道 底層有沒(méi)有實(shí)現(xiàn)關(guān)閉? 如果沒(méi)有 我需要調(diào)什么語(yǔ)句關(guān)閉?手冊(cè)里沒(méi)有找到。

weoweo520

“第二個(gè)錯(cuò)誤closeClient你傳了個(gè)空的client_id過(guò)去,所以會(huì)報(bào)錯(cuò)?!?/p>

問(wèn)題是 這個(gè) client_id 不是我代碼中傳的啊 ,這個(gè)client_id是gateAWay 框架中實(shí)現(xiàn) 的部分。

為什么會(huì)傳空過(guò)去呢? 這個(gè)修改我的代碼能解決問(wèn)題嗎?

  • weoweo520 2016-07-24

    已懂了 這個(gè)地方 還真是我傳進(jìn)去的了。 謝謝

latin

你的調(diào)用棧里面打印的出來(lái)了,是你在msgController::cutClient里面調(diào)用Gateway::closeClient,Gateway::closeClient傳錯(cuò)了參數(shù)。

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??