Решение проблемы с переполнением очереди планировщика после запуска утилиты FixMail¶
При выполнении утилиты FixMail запускается генерация изменений в таблицах сообщений. Если существуют кастомные решения, которые при изменении таблиц сообщений генерируют внешние события для исполнения бизнес-логики, то после запуска Системы сгенерированные события разбираются планировщиком. В зависимости от количества обработанных сообщений и наличия таких триггеров может быть создано множество записей.
Для решения данной проблемы требуется проанализировать необходимо ли выполнять внешние события для старых сообщений:
-
если нет, то достаточно удалить их из БД;
-
если да, то нужно добавить дополнительный сервер серверных скриптов и в конфигурационный файл «LanDocs.Scheduler.Service.Netcore.dll.config» добавить параметр, определяющий минимальное количество потоков обработки:
<add key="MinThreads" value="50"/>
Если до запуска утилиты FixMail известно, что внешние события для старых сообщений выполнять не нужно, то необходимо выполнить следующие действия:
-
Отключить исполнение триггеров, генерирующих внешние события.
-
Запустить исполнение утилиты FixMail.
-
Включить исполнение триггеров, генерирующих внешние события.