Author Topic: YAMN  (Read 577 times)

0 Members and 2 Guests are viewing this topic.

Offline Erjo LoksnTopic starter

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
YAMN
« on: 20 10 2019, 18:51:57 »
Пожалуйста, добавьте в плагин YAMN маленькое, но при этом очень важное улучшение: сделайте так, чтобы этот плагин постоянно не перезаписывал файл с базой писем, даже когда никаких новых писем нет и никакой необходимости в перезаписи нет. Конечно, когда новые письма есть - то было бы тоже неплохо, чтобы плагин не перезаписывал весь файл базы с нуля (ну он стирает файл полностью, а потом записывает его заново), а просто дозаписывал нужную информацию в конец файла. Из-за такого поведения плагина постоянно случаются всевозможные подвисания и сбои, поэтому одно это небольшое улучшение кардинально изменит ценность данного плагина.
 

Offline ghazan

Re: YAMN
« Reply #1 on: 21 10 2019, 17:15:03 »
Erjo Loksn,
можно пару примеров подвисания и сбоев?
 

Offline Erjo LoksnTopic starter

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Re: YAMN
« Reply #2 on: 21 10 2019, 23:03:23 »
В смысле - примеров? Итак, практическое использование плагина: имеем базу писем с трёх разных почтовых ящиков, которая занимает 50 мегабайт. При любой проверке любого из ящиков эта база полностью перезаписывается: то есть старый файл удаляется, а потом записываются 50 мегабайт. Причём так происходит даже тогда, когда в этом нет ну совсем никакого смысла, так как при очередной проверке какого-либо ящика новых писем не оказалось. Это не происходит мгновенно, и пока это происходит, Миранда "залипает" и очень плохо реагирует на нажатие тех или иных кнопок. Если в этот момент Миранду выключить, то файл с базой писем можно вообще потерять (это к вопросу о сбоях), и в этом случае придётся полностью выкачивать базу писем заново из почтовых ящиков, а перед этим - вносить заново в Миранду данные почтовых учётных записей (логины, пароли, адреса серверов). Вот оно всё как-то так, при этом я думаю, что это не является большой проблемой: сделать так, чтобы этот файл не перезаписывался полностью, во всяком случае тогда, когда в этом вообще нет никакой необходимости.
« Last Edit: 21 10 2019, 23:07:58 by Erjo Loksn »
 

Offline ghazan

Re: YAMN
« Reply #3 on: 22 10 2019, 18:02:57 »
В смысле - примеров?
буквально. нужна пара стеков зависания с Process Explorer (если нет студии, разумеется)
https://wiki.miranda-ng.org/index.php?title=Using_Process_Explorer_as_the_debugging_tool
 

Offline Erjo LoksnTopic starter

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Re: YAMN
« Reply #4 on: 23 10 2019, 01:05:05 »
Наверное, я неправильно выразился. "Зависаний" в смысле ситуации, когда программа виснет и больше из этого состояния не выходит (кроме принудительного снятия) у меня не было. Под словом "подвисание" я имел в виду ситуацию, когда программа ощутимо тормозит некоторое время, а потом выходит из этого состояния. Мне не очень понятно, зачем это нужно, особенно в ситуации, когда в реальности перезаписывать базу писем не нужно, так как никаких новых писем нет.