Как добавить большое количество напоминаний о событиях через API Календаря Google, используя PHP? - PullRequest
0 голосов
/ 18 ноября 2010

Я должен добавить одно уведомление о событии в календарь моих пользователей, у которых у всех есть учетная запись моих Служб Google.Количество моих пользователей сейчас составляет 200, но оно увеличится до 1500. Как я могу добавить через PHP из API Календаря Google все эти уведомления?Вторичная цель состоит в том, чтобы все пользователи, которые имеют мобильную конфигурацию, также получали смс-уведомление.Моя проблема в том, что если я сейчас запустлю скрипт для добавления 200 уведомлений к событию, которое начинается через 5 минут, это займет много времени, поэтому некоторые пользователи не получают вовремя уведомление.заранее!

Альберто

1 Ответ

3 голосов
/ 18 ноября 2010

Короче говоря, распределите большой набор запросов на меньший набор запросов.
Большинство серверов в настоящее время являются многоядерными, они должны выполнять многозадачность

Настройка двух скриптов

Основные сценарии

  1. получить событие, которое начинается через 5 минут
  2. найти всех пользователей и данные, которые необходимо уведомить (предположим, 200)
  3. для каждых 10 уведомлений, порождайте shell_exec процесс, вызывающий скрипт уведомления, и обязательно переводите вызов в фоновый режим (см. php, выполняющий фоновый процесс )

Сценарий уведомления

  • получить сведения о 10 пользователях, которых необходимо уведомить (сведения вводятся из мастер-скриптов)
  • обработать уведомление

Преимущества

Итак, вместо традиционной выборки один пользователь уведомляет одного пользователя,
вам нужно 200 x 1 = 200 seconds

Теперь вам просто нужно

1 seconds for master + (10 x 1 seconds) = 12 seconds

На что обратить внимание

Сервер и ресурсы полосы пропускания не безграничны,
ограничено количество процессов, которые ваш сервер может запускать одновременно,
это до вас, чтобы выполнить тестирование и отрегулировать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...