说我有一个2 million
个文档的数据库,我想遍历所有文档。我想一次处理n
批文档,因为我使用的是这样的函数:
def work(self,items):
self.drivers = [webdriver.Chrome() for x in list(range(3))]
tasks = [self.executor.submit(self.parse_url, self.rnd_driver(), item['Link']) for item in items]
for task in concurrent.futures.as_completed(tasks):
print(task.result())
return task.result()
类似的东西:
items = collection.find()
work(items)
不起作用,我将用光内存。 光标是否有内置方法可以返回n
个元素的批处理?还是我必须编写自定义函数?
我读了this问题,我认为我可以做类似的事情:
n = 100
next = True
while next:
l = [x for _, x in zip(range(n), start_items)]
if l:
work(l)
else:
next = False