我希望实现以下目标:
创建一堆mongo查询
对于每个查询,将反序列化的mongo数据集作为ObjectA
将所有ObjectA
映射到ObjectB
列表(假设我们正在使用数百万个对象,需要一些时间)
映射完成后,将所有ObjectB
(在循环中)挂起到新的mongo db / collection(也需要一些时间),并开始使用下一个数据集获取/映射下一个数据集查询
如果下一个映射在最后一个mongo upsert完成之前完成,等待它完成然后开始将该数据集写入mongo
现在我一直在玩Task
,我认为这是一条路,但我很难知道如何做到这一点。
我应该运行2个任务数组吗?
如何创建"依赖"在" fetch / map任务"之间和#34;写入mongo任务"?
感谢任何帮助,谢谢!
答案 0 :(得分:0)
查看数据流http://msdn.microsoft.com/en-us/library/hh228603(v=vs.110).aspx
您可以为流程的每个阶段创建一个块,然后将它们链接在一起。
然后您可以将唯一查询数据发布到循环中的数据流,并根据需要设置并行度。例如阶段1和阶段的并行性2只要你没有内存问题,但保持第3阶段不平行