我使用each()
method of the async lib並遇到一些非常奇怪(且不一致)的錯誤,當我嘗試從子進程內登錄到文件時,似乎出現文件句柄錯誤。我應該擔心從異步方法中記錄文件句柄嗎?
我交給這個方法的數組經常有數百個項目,我很好奇Node節點是否因爲嘗試從所有這些同時進程中的文件登錄而無法使用可用的文件句柄。當我註釋掉我的日誌通話時,問題就消失了,所以它肯定與此有關,但我很難追查原因。
所有的日誌都試圖進入單個文件...我完全不清楚這是如何工作的,因爲每個寫(可能)阻塞,這讓我想知道所有這些同時進程能夠獨立運行如果他們都坐在等待文件可以寫入。
假設這是我的麻煩的來源,什麼是從一個進程登錄的正確方法,如Asnyc.each()
,它一次運行N個進程?
向我們顯示與問題相關的代碼。 –
@RobertHarvey,有很多代碼......你很想看看我寫入文件的具體細節。 –
在日誌過程中可能涉及多少代碼?顯示異步調用的一般框架以及對日誌記錄方法的調用。告訴我們你正在使用什麼日誌框架,或者告訴我們日誌記錄方法中的代碼。 –