Главная
  • 27 февраля 2009
  • 4 комментария
  • 162
  • Автор:

FlylinkDC++ r377 beta1

Отказ от хранения очереди закачек в файле *.xml
Данное решение не очень эффективно работает на больших очередях
в оригинальной реализации очередь хранится в памяти и периодически(раз в минуту) скидывается на диск в файл Queue.xml
пот этом работает следующий алгоритм

создается Queue.xml.tmp на основе текущего состояния очереди
удаляется файл Queue.xml.bak
копируется текущий Queue.xml в Queue.xml.bak
удаляется Queue.xml
копируется Queue.xml.tmp в Queue.xml
я перенес хранения очереди в базу данных и пока используется две таблички (fly_queue и fly_queue_source)
+ реализовал первое приближение работы \”по новому\”.
просьба желающих потестировать это решение на предмет корректности работы.

Все старые закачки должны сохранятся и при первом запуске r377 beta1 переносятся из файла Queue.xml в БД. (больше файл Queue.xml не создается)

использования БД в качестве хранилища очереди также позволит исключить потерю очереди при сбоях программы

Позволю себе привести письмо с жалобами на очередь:

При скачивание папки с большим количеством фалов, размер Queue.xml разрастаться до больших размеров. Программа не в состоянии обработать такой размер xml и не в состоянии загрузить очередь скачивания и зависает(в полне возможно что и может,но ждать такое количество времени, я ждал больше часа и так список не открылся). Естественно просмотреть очередь скачивание в программе невозможно. Предлагаю при нажатии в контекстном меню пункта \”Скачать\” предупреждать пользователя о том что он добавляет большое количество файлов и не сможет в дальнейшем просматривать очередь скачивания. Или лучше вообще отказаться от xml в пользу Sqlite. Хотелось бы что бы проблема была решена. В моем случае я добавил на скачивании папку с видио и не заметил что подпапка содержит очень большое количество мелких файлов(причем список нужных мне закачек уже был достаточно большим), ждать когда загрузиться ненужные мне файлы, а это заняло бы приличное время мне не хотелось, то пришлось вручную удалить часть строк Queue.xml их было больше 80000 естественно я удалил и нужные мне закачки, выбирать нужные было просто нереально долго.

Для абонентов локальной сети: Скачать
Для абонентов интернета: Скачать

Похожие статьи
Коментарии
  • develin

    Стронг форевер

  • slik94

    чувак понту ті его віложил если его нада качать через стронг или фла

  • Aback

    slik94, Оффтоп. Это обновление клиента.

  • slik94

    аа))