Очистка данных чатов за произвольный период времени
В версии 10.6 увидела свет новая функциональность Webim Server - скрипт для автоматической очистки данных чатов аккаунта за произвольный период времени. Это может быть полезно для всех hosted-размещений с большим количеством чатов. Скрипт позволяет оптимизировать память и уменьшить время ожидания ответа БД на запросы.
Внимание!
Следует отметить, что в некоторых странах существуют законодательные ограничения, связанные с хранением персональных данных. На территории Российской Федерации, согласно приказу Федеральной службы по надзору в сфере связи, информационных технологий и массовых коммуникаций от 28 октября 2022 г. N 179, действует ограничение, обязывающее хранить акт об уничтожении персональных данных и выгрузка из журнала в течение 3 лет с момента уничтожения персональных данных.
Список очищаемых сущностей
- История изменений чатов (
pro:chatthreadhistory) - Чат-сессии (
pro:chatvisitsession) - Пройденные опросы (
pro:surveyanswer) - Запущенные опросы (
pro:surveylaunch) - Сообщения (
pro:chatmessage) - Категории, назначенные чатам (
pro:thread_category) - Оценки (
pro:chatrate) - Чаты (
pro:chatthread)
Все приведённые выше сущности существуют в БД/схеме pro.
Опционально:
-
Статистика v1 (
pro:chatstats) -
Логи Статистики v1 (
pro:chatstatslog) -
Сообщения с файлами - сообщения, имеющие
KindFILE_OPERATORилиFILE_VISITOR(pro:chatmessage) -
Статистика v2 на ClickHouse (
webim_stats:thread) -
Данные Elasticsearch
Все остальные сущности (такие как список категорий, конфигурации опросников и т.д.) очистке не подвергаются.
Работа со скриптом
Работа со скриптом производится по следующему сценарию:
-
Перейдите в виртуальное окружение Chat Backend.
-
Перейдите в директорию
python/source/tools -
Запустите скрипт
purge_data.sh
Скрипт имеет следующий синтаксис:
purge_data.sh [аргументы] [флаги]
Скрипт принимает следующие аргументы:
-
--account: имя Вашего аккаунта Webim. Обязательный аргумент. -
--to-date: окончание временного периода, за который будут очищены данные чатов. Началом временного периода является момент создания БД. Формат ввода:yyyy-mm-dd. Представленная в качестве значения аргумента дата должна быть не более года назад от текущего момента. Обязательный аргумент.
Также существует несколько необязательных флагов, задающих дополнительные опции очистки данных:
-
--delete-file-messages: удаление сообщений с файлами По умолчаниюfalse. -
--purge-clickhouse: очистка ClickHouse (Статистика v2). По умолчаниюfalse. -
--purge-stats: очистка Статистики v1. По умолчаниюfalse. -
--purge-elastic: очистка Elasticsearch. По умолчаниюfalse.
Пример вызова скрипта для очистки данных чатов и сообщений с файлами аккаунта testcom до 21.08.2023:
purge_data.sh --account testcom --to-date 2023-08-21 --delete-file-messages