Как отправлять push-уведомления всякий раз, когда пользователь отправляет прямое сообщение другому пользователю (MySQL, PHP)

В настоящее время я пытаюсь создать приложение для обмена сообщениями на IOS, но я не понимаю, как заставить мое приложение немедленно отправлять push-уведомление пользователю, когда его друг отправляет им сообщение. Я провел некоторое исследование и вижу, что триггеры в MySQL для проверки выполнения вставки в сочетании с PHP для создания полезной нагрузки уведомлений могут быть правильным подходом. Мой вопрос: я на правильном пути или есть более разумный способ выполнить эту задачу?


person Anthony Kapiti    schedule 17.09.2020    source источник
comment
Единственное решение заключается в создании процедуры опроса PHP, которая выполняется периодически (например, из cron), проверяет наличие новых строк, необходимых для отправки уведомлений, и делала это. Я вижу, что триггеры в MySQL проверяют выполнение вставки Нет. Они ничего не проверяют, это шаг изменения данных, который пропускается, если триггер не определен.   -  person Akina    schedule 17.09.2020
comment
Альтернативное решение - не использовать MySQL в качестве моста между двумя пользователями, иначе вы застряли с тем, что написал @Akina.   -  person Shadow    schedule 17.09.2020
comment
Если я не ошибаюсь, задание cron выполняется на основе установленного расписания, верно? Это создало бы проблему, потому что я хотел бы, чтобы уведомление отправлялось мгновенно, как только пользователь отправляет сообщение другому пользователю. Я не понимаю, что вы говорите, или проблема, которую я упомянул, существует? @Акина   -  person Anthony Kapiti    schedule 21.09.2020
comment
Какая альтернатива помимо MySQL была бы эффективной? @Тень   -  person Anthony Kapiti    schedule 21.09.2020
comment
Если я не ошибаюсь, задание cron выполняется по установленному расписанию, верно? Нет проблем, используйте процедуру, которая работает бесконечно и проверяет наличие новых сообщений так часто, как вам нужно. Запуск из CRON рекомендуется для снижения потребления ресурсов сервера — но это не догма. Только не забудьте предусмотреть перезапуск процедуры, если ее выполнение по какой-либо причине было прервано.   -  person Akina    schedule 21.09.2020
comment
Итак, гипотетически, если бы я выполнял одну проверку задания cron каждую секунду, это вызвало бы какие-либо проблемы с производительностью? @Акина   -  person Anthony Kapiti    schedule 21.09.2020
comment
Не знаю - тестируй. Начните, например, с 10 секунд и медленно уменьшайте это время, чтобы следующее задание не запускалось, когда предыдущее еще не завершено.   -  person Akina    schedule 21.09.2020