Задать вопрос
@ukoHka
Всего понемногу

Как реализовать отслеживание БД и отправку push уведомлений через PHP?

PHP скрипт обращается к базе mssql через dblib. Изменения в бд заносятся через сторонний софт. Как можно отслеживать изменения в определенной таблице БД и рассылать клиентам скрипта? Менять базу и сторонний софт не вариант.
То есть, есть электронный журнал, в базе находится таблица оценок. Учителя ставят оценки через отдельную программу, которую нельзя изменить (у каждого свой экземпляр клиента, учителей много, пересобрать программу и разослать всем нельзя).
Есть веб-интерфейс, где выводятся оценки учеников. Любой ученик может зарегистрироваться и просмотреть свои оценки. Нужно создать скрипт, который будет проверять таблицу оценок и рассылать уведомления тем ученикам, которым поставили/изменили/удалили оценку. Как можно организовать такую проверку таблицы?
  • Вопрос задан
  • 1454 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
может добавить триггер?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
AMar4enko
@AMar4enko
Без триггеров можете сделать проверку записей таблицы на обновление с помощью поля типа updated_at.
Подразумевается, что при обновлении записи в это поле будет сохранено время, когда запись была обновлена.
1. Задаете границу, позже которой будете уведомлять.
2. Дергаете записи, которые позже этой границы, рассылаете уведомления, если такие записи есть.
3. Передвигаете границу на текущее время
4. Через минуту начинаете с пункта 2

Для того, чтобы реализовать dirty checking, можете поля сохранять где-нибудь в Redis, тогда сможете проверять изменившиеся поля для обновленных записей.
Ответ написан
Комментировать
@Fortop
Tech/Team lead
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽