@ukoHka
Всего понемногу

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

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

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

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

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