Автоматическая очистка сообщений в карточках сообщений

В процессе работы в карточках сообщений может накапливаться большое число входящих и исходящих сообщений, что может существенно замедлять работу с такими карточками, отправка исходящих сообщений особенно подвержена негативному влиянию. Негативное влияние призвана снизить возможность автоматической очистки исходящих и входящих сообщений.

Настройка автоматической очистки

  1. Автоматическая очистка регламентируется настройками в таблице БД dvsys_settings:

    • Для входящих сообщений:

      • WorkerService_ClearIncomingMessages — политика очистки входящих сообщений. 0 — не очищать, 1 — по дням, 2 — по количеству. Очищаются только сообщения в состоянии Обработано.

      • WorkerService_ClearIncomingMessages_Days — ограничение устанавливает срок в днях, после которого входящих сообщения будут удаляться. Например, если установлено ограничение в 3 дня, будут удалены все сообщения старше 3 дней. Если значение меньше 1, очистка производиться не будет.

      • WorkerService_ClearIncomingMessages_Count — максимальное количество входящих сообщений, которые останутся в очереди. Если значение меньше 1, очистка производиться не будет.

    • Для исходящих сообщений:

      • WorkerService_ClearOutgoingMessages — политика очистки исходящих сообщений. 0 — не очищать, 1 — по дням, 2 — по количеству.

      • WorkerService_ClearOutgoingMessages_Days — ограничение устанавливает срок в днях, после которого исходящие сообщения будут удаляться. Например, если установлено ограничение в 3 дня, будут удалены все сообщения старше 3 дней. Если значение меньше 3, очистка производиться не будет.

      • WorkerService_ClearOutgoingMessages_Count — максимальное количество исходящих сообщений, которые останутся в очереди. Если значение меньше 3000, очистка производиться не будет.

    Таблица 1. Значения по умолчанию:
    Настройка Значение по умолчанию

    WorkerService_ClearIncomingMessages

    0

    WorkerService_ClearOutgoingMessages

    0

    WorkerService_ClearIncomingMessages_Days

    7

    WorkerService_ClearOutgoingMessages_Days

    7

    WorkerService_ClearIncomingMessages_Count

    -1

    WorkerService_ClearOutgoingMessages_Count

    -1

  2. Раз в сутки в 2 часа ночи запускается служебная задача dvjob_workerservice_clear_old_messages, выполняющая хранимую процедуру dvws_clear_old_messages для удаления сообщений согласно указанным настройкам.