Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 10, 2011 16:26:35

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка работы ftp

При использовании ftplib бывает передача файла замирает, она может и идёт, но со скоростью в пару байт.
Ошибок никаких нет, можно прождать 30 мин и фаил в 50кб так и будет передаваться.
Как отлавливать такие ситуации и делать реконнект ?



Офлайн

#2 Янв. 10, 2011 16:34:47

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Проверка работы ftp

Установите callback в retrbinary и смотрите, считайте, с какой скоростью идет файл.



Офлайн

#3 Янв. 11, 2011 18:06:12

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка работы ftp

Спасибо, похоже придётся проверять в отдельном потоке периодичность вызова callback, т.к передача вообще замирает скорей всего.



Офлайн

#4 Янв. 11, 2011 21:44:02

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Проверка работы ftp

ну можно еще размер буфера поменьше сделать в том же конструкторе метода



Офлайн

#5 Янв. 12, 2011 16:40:19

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка работы ftp

В бинарном режиме намного стабильней передаётся.
Надеюсь проблем с текстовыми файлами в этом режиме не возникнет.



Отредактировано (Янв. 12, 2011 16:56:49)

Офлайн

#6 Янв. 12, 2011 20:30:45

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Проверка работы ftp

jartasa
Надеюсь проблем с текстовыми файлами в этом режиме не возникнет.
единственная проблема, которая может возникнуть, это если вы скрипты на никсовый сервер заливаете, тогда автоматически виндовые переносы строк (\r\n) не преобразуются в никсовые (\n). Но это не страшно, если вы заранее об этом позаботитесь. А так, проблем больше быть не должно.



Офлайн

#7 Янв. 12, 2011 21:20:31

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка работы ftp

Эх, всрёравно периодически зависает передача и не понятно почему, но при бинарном режиме реже.
При блоке в 1024 байт в течении 5 минут ни одного вызова callback.
Может есть другие библиотеки или обёртки надо этой ?
Столько уже намучился с этим ftp, а протокол передачи уже не поменять.



Офлайн

#8 Янв. 12, 2011 21:43:04

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка работы ftp

может тогда просто ждать какоенибудь время и если колбек небыл вызван предпринимать какиенить действия



Офлайн

#9 Янв. 13, 2011 08:10:11

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Проверка работы ftp

jartasa
Может есть другие библиотеки или обёртки надо этой ?
Столько уже намучился с этим ftp, а протокол передачи уже не поменять.
есть хорошая обертка ftputil, посмотрите, может быть там что то сделано в этом направлении.
А вообще, ftp достаточно простой протокол. Вы можете и на голых сокетах реализовать то что нужно за сравнительно небольшой срок. Вопрос в другом, что именно “зависает”… Ищите проблему либо с сервером либо с соединением



Офлайн

#10 Янв. 13, 2011 21:29:31

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка работы ftp

Оказывается такая проблема и с сокетами происходит, по таймауту почему-то не отваливаются. Таймаут ведь есть по стандарту в сокетах ?



Отредактировано (Янв. 13, 2011 21:34:55)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version