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