Форум сайта python.su
Здравствуйте. Вот начал делать сканер фтп. Т.е. получение всех файлов и папок. котоыре есть на фтп.
Делаю через ftplib.dir() потом обрабатываю полученое.. Хочу сделать несколько потоков, как реализовать7 на ум приходит только 1, сканировать корень, и на каждую папку натравливать свой тред. Можно ли как нибудь еще?
И еще, насколько эффективен ftplib.dir, и может есть что либо побыстрее?
Офлайн
<offtopic>
Рекурсивный сканер ftp, да ещё и в несколько потоков… Вам сервера чужие не жалко? У нас в сети от такого мародёрства многие частные ресурсы позакрывались.
</offtopic>
Офлайн
Maximbo
нет, не жалко)
проверил на сетевом, 3 ТБ, все нормально.. при этом еще люди чета качали. Так что не понимаю что в этом такого?
Офлайн
Классическая задача для thread pool - по одному заданию на директорию
Офлайн
Андрей Светлов
ну так и думал делать… делать это средствами Thread'ов ?
Офлайн
да, и еще вопрос. при 1 соединении,можно в несколько потоков делать dir в разных директориях?
Офлайн
Вот, например, не самый плохой вариант реализации.
Или нужен полный пример со сканированием ftp? :)
Отредактировано (Окт. 23, 2007 16:35:21)
Офлайн
либо одно соединение на поток, либо одно глобальное, но обвешанное блокировкой.
ftplib.ftp.dir() на самом деле шлет несколько команд на сервер, нельзя нескольким потокам дать им перемешаться
Офлайн