Перейти к концу метаданных
Переход к началу метаданных

Очереди получения и индексации

Когда Архива получает входящую почту с почтового сервера, например, через входящее SMTP-соединение, почте присваивается случайно сгенерированное имя файла с расширением .blob и немедленно записывается на диск в очереди получения. Очередь приема находится в разделе {данные приложения}\queue\receive. На данный момент письмо еще не отображается в результатах поиска; сначала его необходимо заархивировать и проиндексировать. После записи входящей почты в это временное местоположение, для обработки, Архива вставляет имя файл в базу данных очереди, файлы которой расположены по адресу {данные приложения}\queue\receive\ctl.

Как только сообщение помещается в очередь, механизм организации очередей планирует доставку элемента в очередь получения для архивирования. После архивирования данные вставляются в отдельную очередь индексов для индексации. Очередь индексов расположена по адресу {данные приложения}\queue\index, и аналогично связанная с ней база данных расположена по адресу {данные приложения}\queue\index\ctl. Поскольку операции индексирования и архивирования требуют значительного объема синтаксического анализа и вычислений по сравнению с записью необработанных входящих данных в очередь приема, операции архивирования и индексирования обычно занимают сравнительно больше времени для выполнения. В случае когда сервер получает внезапный всплеск трафика, данные могут быстро накапливаться в очередях приема и индексации. Если количество элементов в очередях превышает значение для максимальных размеров очереди, указанных в Настройка->Основной->Индекс, для очередей архивирования и индексирования соответственно; при обработке нового запроса, сервер в большинстве случаев будет ждать по крайней мере две минуты, пока слот станет доступным, в противном случае он отклонит входящее SMTP-соединение с  SMTP-кодом повторной попытк 421 или 451.

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

Настройка размеров очереди

Уменьшение размера очередей получения (в Настройка->Общие->Архив) и индексирования (указано в Настройка->Общие->Индекс) ограничивает общий объем места, которое очереди могут занимать на диске. Учитывая, что скорость чтения исходных данных обычно выше, чем скорость шифрования, сжатия + записи, крайне важно установить соответствующий размер очереди, принимая во внимание объем дискового пространства, доступного в разделе очереди, чтобы все доступное дисковое пространство не могло быть использовано когда очередь достигает максимального настроенного размера.

Изменение путей очереди

Рекомендуется размещать очереди в отдельном разделе на диске. Причина в том, что по умолчанию очереди разделяют раздел с другими файлами программы, и в момент когда сервер внезапно получает огромный поток трафика (например, DDoS или спам-атака), очередь может очень быстро вырасти. Если место для хранения будет исчерпано, вся система может стать непригодной для использования, поскольку многие компоненты Архива, такие как запись временных файлов, зависят от достаточного количества свободного места на диске. Чтобы изменить расположение очередей, отредактируйте файл bootstrap.conf.

Как восстановить потерянные элементы очереди

В редких ситуациях база данных, связанная с механизмом организации очередей, может быть повреждена из-за нехватки места на диске в разделе очереди, или из-за внезапного отключения питания, или иным образом. В этом случае потерянные элементы могут присутствовать в папках получения и индексации, но не могут быть обработаны из-за того, что механизм организации очередей не знает о них. Чтобы устранить эту проблему, остановите сервер и переименуйте каталог {данные приложения}\queue\receive в restore_receive и {данные приложения}\queue\index в restore_index. Когда Архива запустится, она увидит, что в папках restore_receive и restore_index доступны сообщения, и автоматически обработает их. Та же логика применима и к очередям smtp-клиентов!

Windows  Expand source
Linux  Expand source

Как предварительно обработать элементы в папке ERR

Архива помещает сообщения, которые она не может обработать из-за несоответствия спецификации rfc-2822, в папку queue/err. При обработке сообщений система старается быть максимально снисходительной. Чтобы повторно обработать элементы в папке err, выполните следующие действия:

Linux