【问题标题】:How to add large number of event notification reminder via Google Calendar API using PHP?如何使用 PHP 通过 Google Calendar API 添加大量事件通知提醒?
【发布时间】:2010-11-18 16:10:23
【问题描述】:

我必须在我的用户日历中添加一个事件通知,他们都拥有我的 Google Apps 帐户。 我的用户数量现在是 200,但会增加到 1500。 如何通过 PHP 从 Google Calendar API 添加所有这些通知? 次要目标是所有具有移动配置的用户也将收到短信通知。 我的问题是,如果我现在启动一个脚本来为一个 5 分钟后开始的事件添加 200 条通知,这将需要很长时间,所以一些用户没有及时收到通知。

提前致谢!

阿尔伯托

【问题讨论】:

    标签: php google-api google-calendar-api google-apps


    【解决方案1】:

    简而言之,将大量请求分散到较小的请求集中。
    现在的服务器大多是多核的,应该能够执行多任务处理

    设置两个脚本

    主脚本

    1. 获取 5 分钟后开始的事件
    2. 查找所有需要通知的用户和详细信息(假设为 200)
    3. 对于每 10 个通知,生成一个调用通知脚本的 shell_exec 进程,并确保将调用推送到后台(参考 php execute a background process)

    通知脚本

    • 接收需要通知的 10 个用户的详细信息(从主脚本输入的详细信息)
    • 处理通知

    好处

    因此,与传统的获取一位用户通知一位用户不同,
    你需要200 x 1 = 200 seconds

    现在,你只需要

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

    注意事项

    服务器和带宽资源不是无限的,
    您的服务器可以同时运行的进程数量是有上限的,
    这取决于您执行测试和微调

    【讨论】:

    • 嗨!我做了你给我的建议。但它比以前需要更多的时间。我这样写脚本。但是脚本的执行等待所有的 exec();所以它不会在后台生成php。 foreach($tests as $test) { exec("php test.php".$test["id"]);我做错了什么?提前致谢!
    • 你应该将exec 推到后台 - stackoverflow.com/questions/45953/…
    • 对不起,但我仍然不明白我究竟要做什么才能将 exec 推入后台。 stackoverflow.com/questions/45953/… 中的哪些答案是正确的?
    • 简而言之,进入后台意味着 PHP 不会等待 exec 返回结果
    • 好的,但我没有找到正确的代码来做到这一点。什么是正确的代码?
    猜你喜欢
    • 1970-01-01
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 2018-09-29
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    相关资源
    最近更新 更多