有 3000+个 csv 文件,每个文件大小从 0(空文件) kb~5M 左右。
要求:
1.读入 csv 文件
2.对 csv 文件处理(耗时 200ms~7s)
3.将处理好的 csv 存入数据库
第二步如果并行处理的话应该算是“ embarrassing parallel",最简单的,不涉及锁、数据共享等
我现在用的是 multiprocessing.Pool, 里面有 apply, apply_async, map, imap, imap_unordered
concurrency 里面也有一些对应的函数。
什么情况下该用什么函数?
我本想根据下列条件自己整理一下的,但是看了很多资料,有点头大。
1. 阻塞 /非阻塞
2.同步 /异步
3.要求有返回结果 /不用返回结果
4.返回结果必须有序/返回结果可以无序
要求:
1.读入 csv 文件
2.对 csv 文件处理(耗时 200ms~7s)
3.将处理好的 csv 存入数据库
第二步如果并行处理的话应该算是“ embarrassing parallel",最简单的,不涉及锁、数据共享等
我现在用的是 multiprocessing.Pool, 里面有 apply, apply_async, map, imap, imap_unordered
concurrency 里面也有一些对应的函数。
什么情况下该用什么函数?
我本想根据下列条件自己整理一下的,但是看了很多资料,有点头大。
1. 阻塞 /非阻塞
2.同步 /异步
3.要求有返回结果 /不用返回结果
4.返回结果必须有序/返回结果可以无序