我需要读取每个大小为10gb的3个csv文件,并将文件的一部分写入另外3个文件。在中间,涉及一些小的条件,并且每行都有一个mongo查询(6bil集合,正确索引)。
我在考虑使用Gevent池来完成任务,但我不确定如何优先处理读取任务而不是写入,确保在编写器退出之前完成读取。
我也不想阻止编写器,直到读完为止。
现在我可以在io处理器和编写器中保持队列超时。但这会确保我的所有读者都将完整的数据放入队列吗?或者是否可以在io-processors的末尾加入我的读者?
简而言之,我想了解是否有任何可以用来有效执行任务的最佳方法。