从异步方法记录时,我应该担心文件句柄吗?

时间:2013-07-31 20:38:04

标签: node.js file-io asynchronous

当我尝试从子进程内部登录文件时,我正在使用each() method of the async lib并遇到一些非常奇怪(和不一致)的错误,这些错误似乎是文件句柄错误。

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

所有日志记录都试图进入一个文件......我完全不清楚它是如何工作的,因为每次写入(大概)块,这让我想知道如果所有这些同时进程如何能够独立运行他们都在等待文件等待写入。

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

1 个答案:

答案 0 :(得分:0)

我认为你应该对你要做多少并发/未完成write电话有一些可调节的限制。不,它们都不会阻止,但我认为async.eachLimitasync.queue会让您灵活地将限制设置为低并确保事物的行为然后逐渐增加它以找出最终的资源限制碰到了。