2010-11-18 74 views
0

我必須在用戶日曆中添加一個事件通知,他們都有我的Google Apps帳戶。 我的用戶數量現在爲200,但會增加到1500. 如何通過PHP從Google Calendar API添加所有這些通知? 次要目標是具有移動配置的所有用戶也將收到短信通知。 我的問題是,如果我現在啓動一個腳本來向5分鐘內啓動的事件添加200個通知,則需要很長時間,因此一些用戶不會及時收到通知。如何使用PHP通過Google Calendar API添加大量事件通知提醒?

在此先感謝!

Alberto

回答

3

簡而言之,將大量請求分散到較小的一組請求中。
大多數服務器現在是多核心,它應該能夠執行多任務

設置兩個腳本

主腳本

  1. 獲取該在5分鐘內
  2. 發現啓動事件所有用戶&需要通知的詳情(假設爲200)
  3. 每10次通知,產生一個shell_exec過程調用通知腳本,並確保推調入背景(指php execute a background process

通知腳本

  • 收到10個用戶的細節需要通知(詳細信息輸入從主腳本)
  • 過程通知

成爲nefits因此,而不是傳統的

獲取一個用戶通知一個用戶,
需要200 x 1 = 200 seconds

現在,你只需要

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

事情需要注意

服務器&帶寬資源不無限制,
有一個上限你的服務器可以同時運行多少個進程,
這個由你來執行測試和微調

+0

嗨! 我向你建議了我。但比以前需要更多的時間。我寫這樣的腳本。但腳本的執行等待所有的exec();所以它不會在後臺製作php。 foreach($ tests as $ test){ exec(「php test.php」。$ test [「id」]); } 我做錯了什麼? 在此先感謝! – albertopriore 2011-01-10 12:19:29

+0

你應該把'exec'推入後臺 - http://stackoverflow.com/questions/45953/php-execute-a-background-process – ajreal 2011-01-10 12:23:09

+0

對不起,但我仍然不明白我到底要推什麼執行到後臺。 http://stackoverflow.com/questions/45953/php-execute-a-background-process中的哪些答案是正確的? – albertopriore 2011-01-10 12:53:57

相關問題