Очистка старых запусков проектов

Возможность настроить очистку старых запусков проектов добавлена в версии Оркестратора 1.23.11.

Под очисткой старых завершенных запусков понимается удаление запусков из оперативной БД ltools и перенос их, вместе со значениями аргументов проекта на запуске, в БД с логами ltoolslogs. Завершенным считается запуск, у которого зафиксировано одно из состояний:

  • завершение работы робота;

  • принудительное завершение работы робота;

  • освобождение робота по таймауту;

  • ошибка при запуске.

Очистка старых запусков настраивается в конфигурационном файле WebApi в секции RpaProjectLaunch. Подробное описание параметров приведено ниже.

Параметры очистки

"RpaProjectLaunch": {
    "LogsThreadSleep": 300, // 5 минут
    "MaxBatch": 500,
    "Period": 80640, // 4 недели
    "EnableLogsTransfer": true
  },
  1. LogsThreadSleep - время засыпания потока сброса старых запусков в БД с логами. Указывается в секундах. Рекомендуемое значение 300 (5 минут). Чем чаще будет просыпаться поток, тем более оперативно старые завершенные запуски будут переноситься в БД с логами, меньшими пачками. Но сильно частая работа потока может увеличить нагрузку на сервер.

  2. MaxBatch - максимальный размер пачки, передаваемый за один раз в БД с логами. Рекомендуемое значение 500. Чем больше размер пачки, тем быстрее* старые запуски будут переноситься в БД с логами. Слишком большие пачки могут создать повышенную нагрузку на сервер.

  3. Period - количество минут, после которого завершенный запуск считается старым. Рекомендуемое значение 80640 (4 недели). Маленькие значения следует задавать только для тестирования режима. Период рекомендуется выбирать в зависимости от интенсивности запусков: чем чаще запуски, тем меньшее значение может использоваться, чтобы в оперативной БД не копилось слишком много запусков.

  4. EnableLogsTransfer - определяет, нужно ли разрешать автоматический перенос старых запусков в БД с логами. Не рекомендуется выключать, так как это ведет к росту размера оперативной БД. Возможные значения: true/false.

*В сочетании с параметром LogsThreadSleep.

Пример расчета значений

Рассмотрим пример расчета значений для параметров очистки старых запусков:

Частота запусков – 1000 в сутки. Целевой объем запусков в оперативной БД – за последние 2 недели.

Чтобы обеспечить постоянный объем оперативной БД, частота переноса запусков в БД с логами должна равняться частоте запусков, то есть 1000 в сутки. Period = 20160 обеспечит актуальности 2 недели. Чтобы переносить ежесуточно 1000 записей о запусках, не нагружая пиками серверы и одновременно не нагружая их холостой работой, выберем MaxBatch = 100. Это значит поток переноса должен проснуться не менее 10 раз в сутки, то есть LogsThreadSleep = 135 * 60 = 8100.

Рекомендуемые значения для параметров (см. подраздел выше) выбраны, исходя из ~ десятикратного запаса.

Last updated