Слишком медленное сохранение нескольких электронных писем с одинаковым именем

314
Skanderbeg

У меня есть пользователь, который хочет создавать резервные копии электронной почты на наших сетевых ресурсах. Она делает это, перетаскивая письма и отправляя их в общий ресурс, на котором она хочет сделать резервную копию своих писем. Это создает eml-файл с темой в качестве имени файла.

Все письма имеют одинаковую тему (они генерируются другой системой), поэтому, когда она делает это, она получает окно с 3 опциями (не копировать, перезаписывать, копировать, но переименовывать). Она выбирает третий вариант и устанавливает флажок «сделать это для всех файлов». Затем процесс копирования начинается, но занимает очень много времени. Иногда процесс внезапно останавливается во время копирования, и пользователь должен начать снова.

Она имеет эту проблему, только когда она пытается скопировать несколько писем одновременно. Когда она делает это один за другим, у нее нет этой проблемы.

Она использует IBM Notes 9.0 и Windows 7 Pro.

Как мы можем скопировать файлы без проблем, перечисленных выше? Что заставляет процесс быть настолько медленным / внезапно останавливаться?

0
Хотя я не знаю точно, мое предположение следующее: допустим, тема `mail`, а файлы переименованы в` mail (1) `,` mail (2) `, ... Наивный подход переименование файлов: попробуйте создать `mail`, если он существует, попробуйте создать` mail (1) `, если существует, создайте` mail (2) `и т. д. Если приложение, создающее файлы, делает это следующим образом, тогда `mail (k)` приведет к обращению к файловой системе `k`, а копирование писем` n` приведет к обращению к файловой системе `(n * (n + 1)) / 2` ([сумма всех положительных целых чисел) до n] (https://en.m.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_⋯)). danzel 6 лет назад 1

1 ответ на вопрос

0
rhsatrhs

Возможно, самым быстрым решением было бы создать пользовательскую кнопку на панели инструментов для вашего пользователя, которая добавляет метку даты / времени к теме каждого письма. Таким образом, если она сначала запустит это для каждого из сообщений, не возникнет конфликта имен файлов, когда она выполнит операцию перетаскивания в общий ресурс.

Код кнопки будет выглядеть примерно так:

FIELD Subject := @Text(@Now) + " " + Subject; 

(Не испытано!)

Агент, который может запускать несколько сообщений одним кликом, был бы лучше, но тогда вам пришлось бы иметь дело с добавлением агента либо в почтовый шаблон и поддержанием этого шаблона через любые обновления Notes, либо добавлением его непосредственно в почтовый файл пользователя. и защита его от операций замены / обновления дизайна - что требует большего объяснения и приближает нас к территории StackOverflow, чем к территории SuperUser.