一旦用戶輸入網站地圖,以下是我希望我的節點應用程序執行的過程。如何讓我的節點應用程序同時執行1000次異步操作?
1)從網站地圖的所有URL抓起
2)每個URL被訪問和被提取的元數據(使用cheerio) - 並保存到分貝
3)的每一個的URL的社會計數是獲取並保存到數據庫
4)每個URL被再次訪問和鏈接從URL中
5)每一個網址給出來的鏈接被訪問和狀態檢查代碼並提取保存到db
我已經爲上述每個步驟(使用異步模塊)編寫了控制器操作,並且單獨地他們正常工作,雖然當有一個大網站時,步驟#4可以進入20k或30k不同的URL,然後執行步驟#5實際訪問它們會導致相當多的503錯誤,如果setTimeout速度不夠快,那麼我的問題是,執行上述過程的最佳方法是什麼?
正在和一位朋友交談,他建議我看看Kue或RabbitMQ,但是我從來沒有使用過任何這樣的基於隊列的模塊,所以給了我想要實現的功能,不太清楚最好的方法是什麼是上述
反饋將是非常美妙
發佈您的代碼。 nodejs是完美的,你不需要一個隊列,但也許想看看集羣。 –