Что бы я сделал, это запланировал периодическое задание, скажем, каждые 5 минут, который проверяет, есть ли кто-то, кто должен быть уведомлен.Да, это кажется дорогостоящей операцией, но для вашего случая использования я пока не вижу других решений.Допустим, у вас есть 10 пользователей, которые используют чат.Каждые 5 минут вы можете проверять, есть ли пользователи, которые не видели некоторые сообщения, и если это так, вы уведомляете их, только если они неактивны с N минут.
Чтобы запланировать такую задачу, вы можете использовать crono драгоценный камень.Проверьте этот ответ .
Crono позволяет вам делать такие вещи:
Crono.perform(CheckUsersToBeNotifiedJob).every 5.minutes