Сжатие логов в 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, соответственно.
Но безлимитное сжатие может создать большую нагрузку.
Поэтому не советую.
-----------
Хорошего дня)
С уважением, Олег Касьянов.