Настройка параметров версионирования¶
Версионирование выключено по умолчанию, чтобы улучшить производительность TDG.
Вы можете включить версионирование в конфигурации системы – в файле config.yml.
Для этого укажите параметр versioning
.
Пример. Воспользуйтесь типом объекта Country
из примера модели данных и
настройте для него версионирование.
Для этого откройте файл config.yml и в блоке versioning
укажите следующее:
versioning:
- type: Country
enabled: true
После этого версионирование для Country
будет включено.
Note
При включении версионирования старая история версий будет удалена.
Вы также можете настроить следующие параметры, относящиеся к версионированию:
keep_version_count– количество хранимых версий. По умолчанию:
5
. Минимальное значение:1
. Если вы не хотите ограничивать количество хранимых версий, удалите этот параметр. Если параметр задан, старые версии будут удаляться. Только новые версии, количество которых меньше или равно заданному значению параметра, будут сохранены. Каждый раз, когда добавляется новая версия, система проводит проверку и удаляет старые версии при необходимостиdelay_sec – интервал в секундах, через который запускается новая проверка устаревших объектов. Найденные устаревшие объекты удаляются. Минимальное значение:
1
lifetime_hours – время жизни версии в часах, также может быть задано в днях (lifetime_days) или годах (lifetime_years). По умолчанию не задано, поэтому версии хранятся неограниченное время. Минимальное значение:
1
. Если параметр задан, версии, существующие дольше заданного значения параметра, будут удалены.strategy – стратегия удаления предыдущих версий из хранилища (архивирование). Вы можете определить стратегию на постоянное удаление версий (permanent), вывод в файл (dir) или холодное хранение (cold_storage). По умолчанию: permanent
Подробную информацию об этих параметрах вы можете найти в файле config.yml.
Пример. Задайте параметры версионирования для типов объектов Country
и City
из
примера модели данных.
Country
: хранить 7 версий, ограничить время жизни 4 часами, запускать проверку через 1 секунду,
использовать холодное хранение.
City
: хранить 3 версии, ограничить время жизни 2 днями, запускать проверку через 1 секунду,
архивировать версии в файл.
versioning:
- type: Country
enabled: true
keep_version_count: 7
lifetime_hours: 4
delay_sec: 1
strategy: cold_storage
schedule: "0 0 0 */1"
- type: City
enabled: true
keep_version_count: 3
lifetime_days: 2
delay_sec: 1
schedule: "0 0 0 */1 * *"
dir: "/var/data"
file_size_threshold: 100001
Note
Если параметр strategy задан на вывод в файл или холодное хранение, необходимо указать schedule – расписание запуска задачи на архивацию в формате cron с поддержкой секунд. При выводе в файл также необходимо указать максимальный размер файла, используя file_size_threshold.
Включить версионирование и задать эти параметры также можно в разделе Data types
в веб-интерфейсе.
При указании значения параметра lifetime_hours больше 24 часов система автоматически
пересчитает значение в соответствующее количество дней, месяцев или лет.