ExpressJS请求挂在mongoose保存

在我的服务器上运行时

Apples.insertAll( [objects], function(err,docs){ .. logic ..}) 

我发送到快速路由器的请求开始挂起,我得到大约20-30秒,然后返回一个简单的响应,而没有计算

stream程如下:

我的服务器通过一些信息得到一个POST请求,检查请求是否已经被接收,然后发回一个响应给客户端(如果它的旧请求只是返回一个响应)

如果请求是第一次发送,服务器将开始处理它。接下来发生的事情是,我有一个观察者,并且向其中的所有人发送一个事件(这个方法没有callback),如果它属于那个服务的话它开始工作,服务从另一台服务器下载一些数据,并将其存储在我的数据库中供以后使用(大约30k个对象)

在保存数据之前,我将它标准化并保存,我保存(在一个批处理命令中) Apples.insertAll( [array], (err,docs) => { .. logic ..}) (这里有12个函数对于每种types的对象)

我用async.series运行所有的12个函数然后我把所有的对象返回到服务,所以我可以把它们传递给下一个应用程序

在这个当前的步骤中,当我向快递发送请求时,响应挂起,直到完成所有对象的整个保存

我用“child_process”解决了我的问题,但是我不认为这是解决这个问题的一个正确的方法 ,它将使debugging的未来变得复杂,除了NodeJS之外,

在剖析器上,我可以看到在这些操作上,callTicks非常长,所以必须阻止快速操作

我希望我在我的问题上有所了解,谢谢你提供的任何帮助:)