Как автоматически отправлять push-уведомления при возникновении события в базе данных? Angular + PHP + MySQL
Я разрабатываю веб-сайт тренажерного зала, используя Angular 6, с работниками сферы обслуживания, которым необходимо отправлять уведомления пользователям (push-уведомления через Интернет), когда начинается класс, на который они подписаны (например, за 15 минут до времени начала).
К тому времени, когда у меня есть функция PHP, которая использует Minishlink\WebPush для отправки уведомления, мне нужно вызвать эту функцию за 15 минут до запуска класса, и это должно быть сделано автоматически, потому что пользователь не взаимодействует для вызова эта функция.
Я думал о том, чтобы иметь событие MySQL, которое обращается к таблице, где хранятся классы, и когда пришло время, вызывает эту функцию PHP, но я не знаю, как это сделать, и даже если это лучшая идея.
Какие-либо предложения?
Я использую Angular 6 + PHP + MySQL, работающий локально на XAMPP.
1 ответ
Лучший способ справиться с такой ситуацией - создать хрон и динамический хрон для выполнения функции отправки Minishlink\WebPush.
мы также справились с такой ситуацией, используя кукурузу, но случай использования был другим. наш cron запускается каждые 15 минут, проверяет, есть ли данные в БД mongo, если они есть, отправьте push-уведомление этому пользователю.
в вашем случае вы можете создать конкретную задачу cron, как только пользователь запланировал свои тайминги, здесь есть более полезная информация об этом ответе.
Я надеюсь, что это поможет вам.