Настройка очистки старых запусков
Возможность настроить очистку старых запусков проектов добавлена в версии Оркестратора 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.
Рекомендуемые значения для параметров (см. подраздел Параметры очистки выше) выбраны, исходя из ~ десятикратного запаса.