Задать вопрос
Andrew_Detmer
@Andrew_Detmer

Реализация уведомлений. Циклы в Yii2?

Привет!

Есть yii2-basic приложение. Есть модель уведомлений, контроллер и база данных под них, всё готово. Уведомления работают по принципу будильника. В БД записано время, когда уведомление должно сработать. Так вот, не могу понять, а в каком месте и каким способом реализовать проверку на время?

Когда писал под десктоп, там всегда был какой-нибудь главный цикл, где всё это дело можно было крутить. А тут не могу понять, в какую сторону смотреть и где такой цикл вставить. Или же вообще циклы тут не нужны?

Думал в сторону фонового цикла, демонов (хотя не совсем понимаю, что это и как), в сторону AJAX (но всё равно непонятно, где цикл?), в сторону <frame>, который бы обновлялся каждые несколько секунд, в сторону цикла на стороне клиента через js, но это кажется слишком уродливым решением.

Подскажите хотя бы куда копать, можно даже ссылки на какие-нибудь примерчики. Буду рад любой инфе!
  • Вопрос задан
  • 272 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
nsleep
@nsleep
Backend Developer
Пишете консольное приложение(контроллер) , которое обращается в базу и рассылает(обрабатывает как нужно вам) уведомления. Вешаете его исполнение на cron (допустим раз в минуту). Profit.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Если нагрузка маленькая, можно аяксом дергать через setInterval (https://javascript.ru/setinterval)
Ответ написан
Комментировать
qonand
@qonand
Software Engineer
Если правильно понимаю уведомления у Вас должны выводиться у клиентов в браузере. В таком случае Вам стоит покопать в сторону использования сокетов
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы