Тема: завантаження файлів з FTP - таймаут
Завантажую файли з FTP - в цілому працює, однак коли в папці трапляється великий файл, то отримую час від часу 421 Connection timed out
from ftplib import FTP
import wget
var_host = 'example.com'
var_path = 'some_path'
var_user = "user1"
var_password = "pass1"
ftp = FTP(var_host)
ftp.login(user=var_user, passwd=var_password)
ftp.cwd(var_path)
files = ftp.nlst()
for file in files:
print(file)
link = 'ftp://' + var_user + ':' + var_password + '@' + var_host + var_path + file
wget.download(link, out=file)
print("ok... " + file)
print("ok all files!")
ftp.quit()
Поки що лягаю спати і буду пізніше фіксити, а за цей час може в когось є ідея. Так, я знаю що можна обійтися без wget і тоді буде більше свободи дій, та це я нашвидкуруч накидав. Можливо, є варіант загорнути wget.download в thread і таким чином гнучкіше керувати таймаутами+retry.
----
Додатково трохи погрався із sftp і зрозумів що так просто не вийде накидати код через хитромудру реалізацію TLS, тому поки що користуюся несекурним простим ftp...