Было бы очень полезно иметь настройку, аналогичную «Удалять логи писем через N дней», но для уведомлений (полное удаление), с значением по умолчанию 0 (отключено/хранить вечно).
Хотя наличие полной истории уведомлений приятно, их ценность со временем значительно снижается, и они по своей природе довольно эфемерны. Однако они могут занимать довольно много места в базе данных по сравнению с остальными данными.
Насколько я понимаю, для социальных платформ довольно типично не хранить уведомления вечно — обычно от нескольких недель до нескольких месяцев.
Мой слабый сервер перегружен, и место на диске быстро заполняется.
Помогает ли здесь существующая настройка сайта max_notifications_per_user? Это скрытая настройка, но она выполняет схожую задачу — ограничивает общее количество уведомлений на экземпляре.
По умолчанию эта настройка сохраняет последние 10 000 уведомлений на пользователя и автоматически удаляет остальные в фоновой задаче, которая выполняется раз в неделю. Вы можете уменьшить это значение до меньшего числа (например, 1000), и тогда очистка будет происходить ещё агрессивнее.