Dolbanowsky
@Dolbanowsky
Поэт-программист

Как на Python 3 ftplib массово загрузить на сервер файлы в цикле?

Есть задача выгрузить на сервер Debian по ftp 5000 файлов. Файлы не большие, 10кб-1мб. Есть довольно простая реализация, однако всё время выгрузка прекращается, примерно через один и тот же промежуток времени. Есть ощущение что ftp сервер сбрасывает подключение после определенного времени. Или может я не верно открываю соединение.

Машина Вин10 + Python 3.7 32bit + PyCharm
Сервер Debian 10 + ISPmanager

Ошибка про этом всегда такая, и дальше о том что:
[1572] | Bad (timed out) | c:/xxx/1572.jpg
[1573] | Bad (cannot read from timed out object) | c:/xxx/1573.jpg
[1574] | Bad (cannot read from timed out object) | c:/xxx/1574.jpg

0. Антивирус выключен.
1. Копал в строну настроек ProFTPD - но так и не нашел настройки влияющие на время открытого подключения.
2. FTP_TLS не подключается у меня к серверу, то что простое FTP подключение.
3. Пробовал пассивные и активные режимы, не помогает.
4. Копал в сторону ошибок Socket, то там решение так и не нарыл.
5. Копал в сторону решения, что для больших файлов надо писать обработчик проверки состояния подключения, где в каждом цикле сначала вызывается проверка состояния. Если подключения нет, то реконект, если есть - отправляем файл. Но пока в процессе написания. Еще не тестил. И не совсем понятно, надо ли такое для мелких файлов.

ВОПРОС: Как правильно открыть одно соединение с ftp сервером и в нём выгрузить большое количество файлов по списку?
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
@erus71an
Попробуйте с некоторой периодичностью переоткрывать соединение с FTP.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы