我在start_gateway.php中$gateway->onWorkerStart和$gateway->onConnect這兩個綁定里面嘗試各種方式獲取當(dāng)前gateway機(jī)器的連接總數(shù),都失敗了
1:在onWorkerStart階段我起定時器,每兩秒鐘獲取一次connections的總數(shù),但是定時器的運(yùn)行環(huán)境和主線是隔離的,算是嘗試失敗了
2:在onConnect階段去獲取,這個更加不行,onConnect階段函數(shù)默認(rèn)傳遞$connection對象,這對象更加沒有當(dāng)前gateway的連接總數(shù)
3:嘗試自己寫一個GatewayBase類繼承Gateway類,重寫Gateway類的onClientConnect將當(dāng)前連接總數(shù)傳遞到onConnect綁定的函數(shù)里面去,報錯exit with status 64000
4:3:嘗試自己寫一個GatewayBase類繼承Gateway類,重寫Worker類的acceptConnection將當(dāng)前連接總數(shù)傳遞到onConnect綁定的函數(shù)里面去,報錯exit with status 64000
5:在onWorkerStart定時器里面直接count( $GLOBALS->connections )獲取連接總數(shù)也不對
?
我這邊agent代理負(fù)載均衡服務(wù)器都寫好了,結(jié)果獲取各Gateway機(jī)器連接總數(shù)的時候出這岔子
現(xiàn)在已經(jīng)陷入絕望的地步了,求助
1、$gateway->onWorkerStart 里無法獲取
2、可以在 $gateway->onConnect 回調(diào)中獲取當(dāng)前進(jìn)程維持的連接總數(shù):
count($connection->worker->connections)
3、所有g(shù)ateway進(jìn)程的總連接數(shù)需要自己再做進(jìn)一步的匯總工作
看樣子只能這樣了。。。真是蛋疼,擼源碼倒是找到了可以統(tǒng)計(jì)總數(shù)的地方,這應(yīng)該是很基礎(chǔ)的功能了,不明白為何不維護(hù)一套API出來