← К заметкам

Заметки

Сообщение записалось, а Push не пришёл: проверьте завершение обработчика

Сообщение видно после обновления страницы, но сразу после отправки через собственный PHP-обработчик интерфейс молчит. Если запись уже есть, замена метода сохранения сообщения может ничего не изменить: проблема бывает в завершении запроса.

Push and Pull отправляет накопленные события на сервер рассылки в эпилоге. Собственный AJAX-обработчик, который подключил только prolog_before.php и завершился через exit, способен пропустить этот этап.

В таком обработчике после основной работы используйте предусмотренное завершение:

CMain::FinalActions();

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

Это объясняет конкретный разрыв: запись в базе выполнена, а события ещё не отправлены. Если обработчик корректно завершается, отдельно проверяются Push-сервер и настройки уведомлений получателя — звук и всплывающее окно не гарантируются самим фактом записи сообщения.

Документация: Push and Pull.