Python APNs后台连接

时间:2015-11-30 06:59:59

标签: python google-app-engine

这种情况下的最佳做法是什么?

我有一个App Engine Python应用程序,有多个cron作业。由用户请求和cron作业实例化,可能会发送推送通知。这可以很容易地扩展到每分钟+ - 100次推送。

为每个批次设置和拆除与APN的连接不是我想要的。 Apple也不建议这样做。因此,即使用户请求完成或cron完成,我仍希望保持连接的活动状态。可能是超时(2分钟没有推,然后关闭然后连接)。

阅读GAE文档,我无法弄清楚是否有这样的东西可用。此外,我可能需要在不同的应用程序和/或模块中使用它。

3 个答案:

答案 0 :(得分:0)

您可以将消息放入pull taskqueue并使用后端实例(或cron作业)来处理任务

答案 1 :(得分:0)

首先,请看一下Google Cloud Messaging。它非常酷,你可以比APNS的协议更容易使用它。

如果您不能使用GCM(因为代码重构等...),我认为AppEngine Managed VM现在适合您的情况。托管VM位于AppEngine和Compute Engine之间。

答案 2 :(得分:0)

您可以使用数据存储区(最终由memcache隐藏性能)来保留所有必需的APN(或任何其他)连接/协议状态/上下文信息,以便多个相关请求可以共享相同的连接,就像您的应用程序将是一个长寿的人。

也许不是微不足道的,但绝对可行。

某些请求可能需要暂时推迟,具体取决于共享连接状态/上下文,这是真的。