Настройка очистки старых запусков
Возможность настроить очистку старых запусков проектов добавлена в версии Оркестратора 1.23.11.
Под очисткой старых завершенных запусков понимается удаление запусков из оперативной БД ltools и перенос их, вместе со значениями аргументов проекта на запуске, в БД с логами ltoolslogs. Завершенным считается запуск, у которого зафиксировано одно из состояний:
- завершение работы робота;
- принудительное завершение работы робота;
- освобождение робота по таймауту;
- ошибка при запуске.
Очистка старых запусков настраивается в конфигурационном файле WebApi в секции RpaProjectLaunch. Подробное описание параметров приведено ниже.
Параметры очистки
"RpaProjectLaunch": {
"LogsThreadSleep": 300, // 5 минут
"MaxBatch": 500,
"Period": 80640, // 4 недели
"EnableLogsTransfer": true
},
- LogsThreadSleep - время засыпания потока сброса завершенных старых запусков в БД с логами. Указывается в секундах. Рекомендуемое значение
300
(5 минут). Чем чаще будет просыпаться поток, тем более оперативно старые завершенные запуски будут переноситься в БД с логами, меньшими пачками. Но сильно частая работа потока может увеличить нагрузку на сервер. - MaxBatch - максимальный размер пачки, передаваемый за один раз в БД с логами. Рекомендуемое значение
500
. Чем больше размер пачки, тем быстрее* старые запуски будут переноситься в БД с логами. Слишком большие пачки могут создать повышенную нагрузку на сервер. - Period - количество минут, после которого завершенный запуск считается старым. Рекомендуемое значение
80640
(4 недели). Маленькие значения следует задавать только для тестирования режима. Период рекомендуется выбирать в зависимости от интенсивности запусков: чем чаще запуски, тем меньшее значение может использоваться, чтобы в оперативной БД не копилось слишком много запусков. - EnableLogsTransfer - определяет, нужно ли разрешать автоматический перенос старых запусков в БД с логами. Не рекомендуется выключать, так как это ведет к росту размера оперативной БД. Возможные значения:
true
/false
.
*В сочетании с параметром LogsThreadSleep.
Пример расчета значений
Рассмотрим пример расчета значений для параметров очистки старых запусков:
Частота запусков – 1000 в сутки. Целевой объем запусков в оперативной БД – за последние 2 недели.
Чтобы обеспечить постоянный объем оперативной БД, частота переноса запусков в БД с логами должна равняться частоте запусков, то есть 1000 в сутки. Period = 20160
обеспечит актуальности 2 недели. Чтобы переносить ежесуточно 1000 записей о запусках, не нагружая пиками серверы и одновременно не нагружая их холостой работой, выберем MaxBatch = 100
. Это значит, что поток переноса должен проснуться не менее 10 раз в сутки, то есть LogsThreadSleep = 135 * 60 = 8100
.
Рекомендуемые значения для параметров (см. подраздел Параметры очистки выше) выбраны, исходя из ~ десятикратного запаса.