Поскольку вы хотите реализовать это в CakePHP (поэтому я предполагаю, что это веб-приложение), пользователю необходимо открыть «активную» страницу, чтобы получать push-сообщения.
Стоит взглянуть на первые два ответа на этот вопрос, а также подумать о том, как другие сайты могут достичь этого.Сайты, такие как Facebook, BBC, Stackoverflow - все используют методы, чтобы поддерживать актуальность страниц.
Я подозреваю, что Facebook просто использует AJAX, который запускается в цикле / таймере, чтобы периодически получать обновления таким образом, чтобы это выгляделоОт себя.Если запрос на обновление достаточно часто (короткий период времени), он будет выглядеть почти в реальном времени.Если это длительный период времени, это будет выглядеть как тяга.Ключ к поиску правильного баланса между актуальностью и перебором браузера / процессора / сети.
Фактический запрос не должен перебивать систему, но ответ в некоторых приложениях может быть намного больше.В вашем случае данные в каждом направлении крошечные, поэтому вы можете сделать цикл запроса довольно коротким.
Эксперимент!