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

workerman JSON-RPC多次異步調(diào)用并成功異步接收數(shù)據(jù)后,再次異步調(diào)用出現(xiàn)異步調(diào)用方法出現(xiàn)have already been called

leo

服務(wù)會(huì)接收1min左右一次的消息,當(dāng)收到消息后會(huì)根據(jù)消息中的經(jīng)緯度,異步調(diào)用逆地理位置服務(wù),獲取逆地理位置信息。
異步調(diào)用逆地理位置服務(wù)成功幾次后,就會(huì)出現(xiàn)一次異步調(diào)用失敗,錯(cuò)誤原始提示 異步調(diào)用的方法已經(jīng)被調(diào)用。但是根據(jù)記錄的log,前面幾次調(diào)用都已經(jīng)完成了接收數(shù)據(jù)的操作(見(jiàn)附件圖片)。

查看source出現(xiàn)這種情況的時(shí)候是異步調(diào)用方法所有參數(shù)序列化后作為key來(lái)保存實(shí)例,如果已經(jīng)存在實(shí)例,那么就拋已經(jīng)調(diào)用異步服務(wù)的異常。那么同一個(gè)進(jìn)程,如果key不變,那么第二次調(diào)用就會(huì)拋這個(gè)異常。

這樣的實(shí)現(xiàn)是不是bug?

3753 2 0
2個(gè)回答

leo

找到原因了,接收消息,然后異步調(diào)用逆地理位置解析服務(wù)的服務(wù),是個(gè)常駐內(nèi)存的服務(wù),因此導(dǎo)致self::$asyncInstances必然出現(xiàn)已經(jīng)存在的情況。

概率出現(xiàn)的原因是接收消息的服務(wù)本身就是個(gè)多進(jìn)程的服務(wù),當(dāng)隨機(jī)接收消息時(shí)出現(xiàn)在同一個(gè)進(jìn)程中時(shí),就會(huì)報(bào)錯(cuò)。

解決的辦法是在異步接收數(shù)據(jù)后,將self::$asyncInstances置null。

  • 暫無(wú)評(píng)論
walkor 打賞

ok

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