Найти - Пользователи
Полная версия: Проверка работы ftp
Начало » Network » Проверка работы ftp
1 2
jartasa
При использовании ftplib бывает передача файла замирает, она может и идёт, но со скоростью в пару байт.
Ошибок никаких нет, можно прождать 30 мин и фаил в 50кб так и будет передаваться.
Как отлавливать такие ситуации и делать реконнект ?
igor.kaist
Установите callback в retrbinary и смотрите, считайте, с какой скоростью идет файл.
jartasa
Спасибо, похоже придётся проверять в отдельном потоке периодичность вызова callback, т.к передача вообще замирает скорей всего.
igor.kaist
ну можно еще размер буфера поменьше сделать в том же конструкторе метода
jartasa
В бинарном режиме намного стабильней передаётся.
Надеюсь проблем с текстовыми файлами в этом режиме не возникнет.
igor.kaist
jartasa
Надеюсь проблем с текстовыми файлами в этом режиме не возникнет.
единственная проблема, которая может возникнуть, это если вы скрипты на никсовый сервер заливаете, тогда автоматически виндовые переносы строк (\r\n) не преобразуются в никсовые (\n). Но это не страшно, если вы заранее об этом позаботитесь. А так, проблем больше быть не должно.
jartasa
Эх, всрёравно периодически зависает передача и не понятно почему, но при бинарном режиме реже.
При блоке в 1024 байт в течении 5 минут ни одного вызова callback.
Может есть другие библиотеки или обёртки надо этой ?
Столько уже намучился с этим ftp, а протокол передачи уже не поменять.
bazooka
может тогда просто ждать какоенибудь время и если колбек небыл вызван предпринимать какиенить действия
igor.kaist
jartasa
Может есть другие библиотеки или обёртки надо этой ?
Столько уже намучился с этим ftp, а протокол передачи уже не поменять.
есть хорошая обертка ftputil, посмотрите, может быть там что то сделано в этом направлении.
А вообще, ftp достаточно простой протокол. Вы можете и на голых сокетах реализовать то что нужно за сравнительно небольшой срок. Вопрос в другом, что именно “зависает”… Ищите проблему либо с сервером либо с соединением
jartasa
Оказывается такая проблема и с сокетами происходит, по таймауту почему-то не отваливаются. Таймаут ведь есть по стандарту в сокетах ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB