使用paramiko并行执行bash命令

时间:2017-03-05 16:34:17

标签: python bash parallel-processing paramiko

我有一个python脚本,用于远程解析大量数据。

python脚本将我要解析的字符串作为参数。在我目前的用例中,我正在寻找多个字符串。为了让这个过程执行得更快,我想实现并行化。

所以我遵循了这个命令的逻辑:

sleep 10 & sleep 12 & wait; sleep 20 & wait;

基本上我所做的是构造一个long命令,为我要解析的每个字符串调用我的解析脚本,并将此命令传递给paramiko client.exec_command(cmd)

示例命令如下:

python parseString.py *.txt -v Hello & parseString.py *.txt -v World & parseString.py *.txt -v Foo & parseString.py *.txt -v Bar & wait; python parseString.py *.txt -v Test & parseString.py *.txt -v Something & parseString.py *.txt -v Thing & parseString.py *.txt -v No & wait; parseString.py *.txt -v Yes & wait; 

如您所见,我最多发送4个电话,以免占用机器。脚本也在相同的文件上运行(不确定这是否有问题)。当我检查htop时,抄写员显示为S,所以正在睡觉。我不确定会出现什么问题。

我收集paramiko stdout输出的最终输出文件达到59 MB,并且该过程挂起。可能是限制脚本完成的大小吗?

我不想创建多个ssh会话来执行我的脚本。

0 个答案:

没有答案