问题描述
我在Python和Django代码中使用Paramiko执行命令。这是我的代码:
client = SSHClient()
client.set_missing_host_key_policy(AutoAddPolicy())
client.connect(<host>,username=<username>,password=<password>)
stdin,stdout,stderr =
client.exec_command("curl -X POST http://127.0.0.1:8080/predictions -T image.jpg")
lines = stdout.readlines()
每个命令stdout.readlines()
的执行时间为0.59s。对于我的接近实时系统,这不是可接受的时间。任何人都可以提出任何建议以加快阅读过程吗?
解决方法
SSHClient.exec_command
仅启动命令。它不等待命令完成。 readlines
就是这样做的。因此readlines
所需的时间与命令所需的时间相同。
强制性警告:请勿使用AutoAddPolicy
–这样做会失去对MITM attacks的保护。有关正确的解决方案,请参见Paramiko "Unknown Server" 。