在我的 python 代码中,我试图使用 ncclient 模块将数据库从远程机器获取到本地机器,这需要将近 2 到 3 分钟。我的 rpc 正在后端运行,但出现“ncclient 在等待 rpc 回复时超时”的错误。2 到 3 分钟后,我可以看到我的数据库上传到本地计算机。我如何等待在本地机器上上传我的数据库,以便我可以在远程机器上运行另一个 rpc?我尝试在 manager.connect 中使用超时,但超时后出现相同的错误。
from ncclient import manager, xml_
host = 'xx'
port = '830'
user = 'xx'
password = 'xx'
with manager.connect(host=host, port=port, username=user, password=password, hostkey_verify=False) as nc:
rpc = """
<upload xmlns="http://**.com/yang/os/rpc">
<filetype>diagnosticslog</filetype>
<destination>sftp://user@ip//db.zip</destination>
<password>***</password>
</upload>
"""
print(nc.dispatch(xml_.to_ele(rpc)).xml)
下面是错误
raise TimeoutExpiredError('ncclient timed out while waiting for an rpc reply.')
ncclient.operations.errors.TimeoutExpiredError: ncclient timed out while waiting for an rpc reply
我正在为上传 rpc 的任何配置 rpc 获得正确的输出,因为它需要时间来执行。