webman 自定義進(jìn)程 rabbbitmq 消費(fèi)者 while 導(dǎo)致worker[rabbitmqttl:31316] exit with status 9
while 死循環(huán)會(huì)導(dǎo)致workerman無法得到運(yùn)行控制權(quán),無法響應(yīng)stop reload restart命令。所以當(dāng)運(yùn)行需要停止進(jìn)程時(shí)進(jìn)程沒有響應(yīng)主進(jìn)程會(huì)殺死沒響應(yīng)的進(jìn)程,出現(xiàn)exit with status 9錯(cuò)誤碼。
onWorkerStart里加一行代碼
pcntl_signal(SIGINT, function(){Worker::stopAll();});
while循環(huán)改成
while($channel->is_consuming()) {
$channel->wait();
pcntl_signal_dispatch();
}
另外看下 $channel->wait()
有沒有超時(shí)參數(shù),有的話設(shè)置成1秒。