一个Shell+Python文件读/写问题的并行化



我有一个项目,我必须定期使用一个shell脚本来对文件进行一些预处理。根据项目需求和遗留原因,必须这样做——我继承了这段代码的很大一部分。

处理完这些文件后,输出文件将由Python脚本进一步处理。

有什么好的方法可以并行运行吗?现在,我的工作流程就是这样。

Call shell script, processing thousands of files.
Once finished, call Python script, processing even more files.
Once finished, call SQL script to insert all of these files into a database.

如果可以并行化为一组(一个文件shell-->Python-->SQL(或并行化每个任务(并行shell、并行Python、并行SQL(,那就太好了。不过,我读到的所有内容似乎都暗示,由于遇到R/W问题,这是一场后勤噩梦。这是真的吗?如果不是指向正确的方向的话?

对于shell,可以使用xargs并行运行多个进程。

示例:

echo dir1 dir2 dir3 | xargs -P 3 -I NAME tar czf NAME.tar.gz NAME

密钥-P——比如xargs运行3个parallel进程。

对于python,您可以使用ThreadPoolExecutor!来自期货。

对于SQL,我什么都说不出来,我需要查看您正在使用的数据库。

最新更新