1
これは便利だとわかりましたSetting timelimit for sftp.get() of Paramiko moduleしかし、ここではコールバック関数も接続確立の時間を考慮しています。私はSFTP get
ファイル転送時間だけを制限する必要があります。私は以下のようにコールバック関数を変更しようとしましたが、うまくいきません。ここに私のコードです。Paramikoのsftp.getのタイムアウト
class TimeLimitExceeded(Exception):
pass
def _timer(start_time, timelimit=5):
elapsed_time = time.time()-start_time
if elapsed_time > timelimit:
raise TimeLimitExceeded
if __name__=="__main__":
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip, port, username, password)
sftp = ssh.open_sftp()
try:
start_time=time.time()
sftp.get(remote_path, local_path, _timer(start_time))
except TimeLimitExceeded:
print ("The operation took too much time to complete")
finally:
sftp.close()
ssh.close()
こんにちは@MartinPrikryl、私は最近、pythonで働き始めました。上記のコードでは、コールバック関数も接続確立時間を考慮しています。私はファイル転送時間だけを制限する必要があります。コールバック関数を修正しようとしましたが、開始時刻をsftp getコールの直前の時刻に使用しても機能しません。 – nilesh