2010-11-18 77 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

相关问题