https://blog.csdn.net/qq_39694935/article/details/84552076
【Python】multiprocessing Pool 进程间通信共享
直接上代码:
from tqdm import tqdm
from multiprocessing import Pool
import functools
from pymongo import MongoClient
mdb = MongoClient('120.xx.26.xx:20002', username='xx', password='xxxxx')
# 三种main的写法只写一种即可
def create_data(image):
# TODO 具体处理逻辑
print(image)
return str(image)
def main_deal():
num_processor = 20
p = Pool(num_processor)
images = mdb['db_name']['image'].find(no_cursor_timeout=True).batch_size(200)
fw = open('result.txt', 'w+')
for result in tqdm(p.imap(create_data, images), total=images.count()):
fw.write(result + '\n')
fw.close()
for _ in tqdm(p.imap_unordered(create_data, images)):
pass
p.close()
p.join()
def main_deal():
num_processor = 20
p = Pool(num_processor)
images = mdb['goodlook']['image_generated_data'].find(no_cursor_timeout=True).batch_size(200)
fw = open('result.txt', 'w+')
for result in tqdm(p.imap_unordered(create_data, images)):
fw.write(result + '\n')
fw.close()
p.close()
p.join()
def main_deal():
num_processor = 20
p = Pool(num_processor)
images = mdb['goodlook']['image_generated_data'].find(no_cursor_timeout=True).batch_size(200)
fw = open('result.txt', 'w+')
pt = functools.partial(create_data)
for result in tqdm(p.imap_unordered(pt, images)):
fw.write(result + '\n')
fw.close()
p.close()
p.join()
if __name__ == '__main__':
main_deal()