Я думаю, что вы, вероятно, можете создать два крон с этой частотой
(или любая понравившаяся вам частота)
Вместо того, чтобы обрабатывать все оповещения для всех пользователей, почему бы, если пользователь не подписан на местоположение, в вашем php codeigniter создать файл задачи с подробной информацией об этой работе. Пример, user_id, местоположение (координата), частота. Точные детали для этого файла задачи зависят
в вашей ситуации, и вам нужно будет проанализировать в вашей системе. Затем поместите этот файл задачи в каталог.
Затем на основе частоты, которую вы указали выше, создайте общий php-скрипт для вызова с этой частотой. Этот скрипт будет перебирать каталоги, обрабатывать файл задачи и отправлять электронную почту. Таким образом, вы не будете беспокоиться о сканировании всей базы данных. Также есть мелкие детали, такие как удаление, обновление, удаление файла задачи, но это полностью связано с реализацией.
Дополнительное замечание, вероятно, это бесполезно, так как вы помечаете этот вопрос php, но просто если вы хотите знать, кварц делает именно то, что вы хотите, но это на Java. Вы можете узнать здесь , если хотите.