Сжатие логов в School-Master

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

Удалять лог писем нежелательно, т.к. может потребоваться посмотреть какие письма получал пользователь.

Поэтому объём базы может увеличиться до нескольких гигабайт.
И чтобы уменьшить объём, мы сделали функцию сжатия логов писем.

Как это работает.

0) Обновиться до версии 3.8.0

1) В Настройках - Функции, в самом низу нужно включить опцию Сжатие логов.

2) На хостинге создать новое задание для планировщика, раз 5 или 10 минут.

php ...../task/deflateemaillog_cron.php

После этого начнётся сжатие логов писем.

Тесты показали сжатие на 18-35%.

3) Если включить отчёты крона на емейл, то можно будет наблюдать за ходом сжатия.

Будет отправляться информация о кол-во проходов, и о завершении сжатия.

 

Специфика.

При запуске, будет сжимать 100 записей(примерно 1-2 с по времени). Каждый новый запуск - следующая партия записей

Также можно запустить с аргументами:  php task/deflateemaillog_cron.php --inflate
В этом случае, действие наоборот - разжатие 100 записей

А еще можно разжать/сжать сразу все записи за один раз:  php task/deflateemaillog_cron.php --inflate --nolimit или php task/deflateemaillog_cron.php --nolimit, соответственно.

Но безлимитное сжатие может создать большую нагрузку.
Поэтому не советую.

-----------

Хорошего дня)

С уважением, Олег Касьянов.