onWorkerStart里啟動(dòng)定時(shí)器,發(fā)現(xiàn)大概幾分鐘后同一時(shí)間連接執(zhí)行了兩次,打印也是有兩次的,多次測(cè)試后確定這種現(xiàn)在,請(qǐng)問(wèn)這是什么原因造成的?
public static function onWorkerStart($worker) {
//啟動(dòng)心跳檢測(cè)定時(shí)器
Timer::add(5, function(){
echo '__start Timer' . "\n";
foreach (self::$heartList as $key => $value) {
echo '22--' . "\n";
if (self::$heartList < 1) {
} else { //重置處理
}
}
});
}
你加個(gè)判斷啊,如果你開(kāi)啟了多個(gè)進(jìn)程,只在第一個(gè)進(jìn)程執(zhí)行心跳驗(yàn)證
if($worker->id == 0){
//執(zhí)行心跳定時(shí)器
}
if($worker->id === 0) {
Timer::add(30.0, function(){
加了,短時(shí)間好像都不會(huì)有問(wèn)題的