redis+workman 做爬蟲服務(wù),開多個進(jìn)程抓取數(shù)據(jù),程序內(nèi)存不會釋放一直增加!求解!
目測你程序的問題
你的程序問題,看看是不是有全局?jǐn)?shù)組一直在添加元素又沒刪除
這是讀取redis隊列中的任務(wù)代碼
[attach]787[/attach]
assignTask方法是運行多次么?如果是不斷運行assignTask,就不會不斷new 很多個Worker實例,會導(dǎo)致內(nèi)存不斷增加。
這個方法是會一直調(diào)用的,而且開的是多個進(jìn)程。那我每次使用完work對象然后unset掉可以解決這個問題嗎!
unset不會關(guān)閉進(jìn)程,也不會銷毀$worker實例
正確的做法應(yīng)該是workerman提前啟動一批進(jìn)程監(jiān)聽某個端口,業(yè)務(wù)需要調(diào)用assignTask時,向這個端口發(fā)送請求,這些進(jìn)程收到請求后處理。
端口怎么用啊,有沒有demo發(fā)個啊