請(qǐng)問下WINDOS下單開一個(gè)Worker定時(shí)器進(jìn)程,每秒鐘循環(huán)查詢數(shù)據(jù)庫里面存在的房間,可能有幾百個(gè)房間或上千個(gè)房間,達(dá)到一定人數(shù)開始游戲并進(jìn)行邏輯處理(倒計(jì)時(shí),開牌倒計(jì)時(shí),下注,發(fā)牌,結(jié)算,顯示數(shù)據(jù),清理數(shù)據(jù)后下一局,如此循環(huán)下去),只有一個(gè)定時(shí)器這樣會(huì)引起每個(gè)房間內(nèi)的數(shù)據(jù)延遲或者游戲數(shù)據(jù)錯(cuò)亂嗎?我的想法是每個(gè)房間一個(gè)定時(shí)器,或者一個(gè)房間一個(gè)進(jìn)程,只處理這個(gè)房間內(nèi)的一切,但是有太多房間,這想法好像不切實(shí)際,麻煩指導(dǎo)一二,感激不盡。
@walkor 謝謝。
在請(qǐng)問下使用GatewayClient推送房間數(shù)據(jù)。
現(xiàn)在新建了2個(gè)文件
timer.php
$work= new Worker();
$work->onWorkerStart = function($worker){
//處理倒計(jì)時(shí)
Gateway::$registerAddress = '192.168.1.100:1236';
}
games.php
$work2= new Worker();
$work2->onWorkerStart = function($worker){
//處理房間邏輯數(shù)據(jù)
Gateway::$registerAddress = '192.168.1.100:1236';
}
運(yùn)行的時(shí)候打印$worker->id都是0,這樣算是new了2個(gè)進(jìn)程嗎?還是都是在BusinessWorker進(jìn)程中的,這樣做有沒有什么意義