Что нового

[Сеть, интернет] Помогите с организацией мультипотоковой закачки :)

SyDr

Сидра
Сообщения
651
Репутация
158
Есть функция мультипотоковой закачки. Она даже работает :smile:
Однако, проблема в том, что мне необходимо ещё и обрабатывать закачанные файлы. Причём:
1) Чем быстрее файл будет обработан - тем лучше.
2) По результатам обработки файла очередь может увеличится. Возможно, придётся изменить что-нибудь в GUI.
3) GUI должен продолжать работать (обработка - событийная).
Вот тут не особо понимаю, как это лучше реализовать (пока что никак нормально не получается):
1) Функция закачки сама вызывает функцию обработки.
2) Где-нибудь в цикле смотрю, появились ли новые элементы для обработки.
3) Использовать Adlib для этих же целей.

Помогите, пожалуйста :smile:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
SyDr
Посмотри на это: http://autoit-script.ru/index.php?topic=1764.msg12561#msg12561
Это моя первая попытка работать с новыми функциями Inet* (которые поддерживают многопоточность закачки файлов).

P.S
И почему эта тема находится в «Общение»? :-\
 
Автор
SyDr

SyDr

Сидра
Сообщения
651
Репутация
158
CreatoR [?]
Посмотри на это: Re: Помогите скачать песни.Это моя первая попытка работать с новыми функциями Inet* (которые поддерживают многопоточность закачки файлов).

Угу. Смотрел. Мне немного другое надо. Функцию я уже написал.

И почему эта тема находится в «Общение»?
undecided.gif
Ну... В данном случае мне не нужен чужой код. Это я буду писать сам. Просто никак не могу разобраться с организацией всей этой структуры.
В прочем, одна идейка уже есть. Надо попробывать.
 
Автор
SyDr

SyDr

Сидра
Сообщения
651
Репутация
158
Задача: скачать некоторые фотоальбомы (т.е. все фотографии из него) с сервиса foto.tut.by
При этом, скрипт должен:
1) Получить имя альбома (чтобы в GUI это поприличнее выглядело).
2) Получить общее число фотографий и число страниц в альбоме.

На данный момент всё выглядит так:
1) После нажатия Старт скрипт формирует очередь закачки, по одной ссылке на каждый альбом.
2) Скачивает файлы по ссылкам во временную папку и при этом узнаёт из них некоторую информацию (имя альбома, число страниц, число фотографий). Обновляет GUI по мере надобности.
3) Ждёт реакции пользователя (какие альбомы качать, какие нет).
4) Формирует новую очередь (все страницы каждого альбома).
5) Скачивает их во временную папку и узнаёт необходимую информацию (ссылки на файлы фотографий и доп. инфа: размеры, размер файла, его имя).
6) Формирует очередь для скачивания фотографий.
7) Скачивает фотографии в указанное место (возможно с различными фильтрами).

Насколько эффективен такой подход? Раньше делал однопоточную закачку. Было проще :smile: Но тогода и какой-либо дополнительной информации я не получал.
 
Верх