0

我正在使用each()异步库的方法,当我尝试从子进程中登录到文件时,遇到了一些非常奇怪(且不一致)的错误,这些错误似乎是文件句柄错误。

我交给这个方法的数组经常有数百个项目,我很好奇 Node 在尝试从所有这些同时处理的进程中记录到文件时是否在用完可用的文件句柄时遇到问题。当我注释掉我的日志调用时,问题就消失了,所以它肯定与此有关,但我很难找到原因。

所有的日志记录都试图进入一个文件......我完全不清楚它是如何工作的,因为每次写入(可能)都会阻塞,这让我想知道所有这些同时进程如何能够独立运行,如果它们是所有人都坐在那里等待文件变得可以写入。

假设这是我麻烦的根源,那么从一个进程(例如Asnyc.each()一次运行 N 个进程)记录日志的正确方法是什么?

4

1 回答 1

0

write我认为您应该对要执行的并发/未完成呼叫的数量有一些可调整的限制。不,它们都不会阻塞,但我认为async.eachLimitasync.queue会给你灵活设置限制并确保事情正常运行,然后逐渐增加它以找出你最终遇到的资源限制。

于 2013-07-31T21:18:27.747 回答