一个比较奇怪的问题
我用
child_process.fork('./controllers/run-task.js',[results.saveTask._id.toString(),true],{silent:true});
来跑一个任务。run-task里面主要是调用svn命令(用了svn-interface模块)去export文件到本地,然后进行一些处理。run-task使用async.eachLimit来控制export的并发,目前是5个。
我发现任务比较多的时候比如有150个文件需要export时,通常只export到85个左右,程序就停在那里了,没有任何报错异常。
查看进程 子进程还在
我如果在命令行 直接跑这个脚本
/usr/bin/nodejs ./controllers/run-task.js 5459803aa123c7080669e7c2 true
则一切正常,所有150个文件都导出完成了。
child_process.fork有什么限制么?还是我用的不对?
补充:
如果在文件比较少时,比如20个。调用child_process.fork来跑任务时可以完成的。