- Создаете очередь из списка пользователей для которых необходимо сделать конкретную рассылку. Это может быть таблица в БД, список в редисе или мемкеше, или даже список в файле.
- Создает скрипт который:
- Берет n пользователей из списка п.1. Где n < допустимого числа сообщений.
- Отправляет каждому полученному пользователю сообщение.
- Настраиваете cron, которые будет запускать скрипт каждые 30мин/час.
Таким образом ресурсы сервера буду использоваться только во время отправки сообщение в каждый интервал времени.