在做隊(duì)列任務(wù),然后在onWorkerStart方法里里使用while(true),去處理隊(duì)列任務(wù)。長(zhǎng)時(shí)間無(wú)限循環(huán)會(huì)。會(huì)影響服務(wù)器性能么(如內(nèi)存溢出,CPU占用過(guò)高之類(lèi)的)!
還有在隊(duì)列里通過(guò)call_user_func_array分發(fā)任務(wù)處理的時(shí)候,如果對(duì)應(yīng)方法的代碼問(wèn)題導(dǎo)致錯(cuò)誤。整個(gè)隊(duì)列會(huì)停止么?
在做隊(duì)列任務(wù),然后在onWorkerStart方法里里使用while(true),去處理隊(duì)列任務(wù)。長(zhǎng)時(shí)間無(wú)限循環(huán)會(huì)。會(huì)影響服務(wù)器性能么(如內(nèi)存溢出,CPU占用過(guò)高之類(lèi)的)!
不會(huì),除非代碼寫(xiě)的有問(wèn)題。
還有在隊(duì)列里通過(guò)call_user_func_array分發(fā)任務(wù)處理的時(shí)候,如果對(duì)應(yīng)方法的代碼問(wèn)題導(dǎo)致錯(cuò)誤。整個(gè)隊(duì)列會(huì)停止么?
不會(huì)整個(gè)停止。如果出現(xiàn)致命錯(cuò)誤,當(dāng)前進(jìn)程回退出,服務(wù)端會(huì)立刻重啟一個(gè)進(jìn)程,重啟的進(jìn)程運(yùn)行onWorkerStart開(kāi)始運(yùn)行。