这是我的问题,我有一个正在运行的工作人员收集一些数据,然后将其保存到模式中。在这些模式中,我发布了保存时发生的中间件功能。问题是我的工作人员没有等待 post 中间件完成工作,然后循环并再次保存到相同的模式。随着我的工作人员继续运行,它会大大减慢速度,因为它会在完成之前一遍又一遍地排队这些功能。那些 post 中间件函数也保存到其他也执行自己的 post 函数的模式。所以正如我所知,当我正在处理数十万个正在保存的对象时,它开始真正放慢速度。
我的代码看起来是什么样的示例:
工人
tranFunc = (stuff, Object) ->
newObject = Object
newObject = new Object newObject
newObject.save (err) ->
Save 现在跳转到发生更多事情的模式中,但是我的工作人员在完成之前循环并继续
架构
ObjectSchema.post("save", function() {
DOING STUFF
我已经读到我可以使用类似 a 的东西next()
作为对工人的回调,但我尝试使用它没有成功。