我有一个Android应用程序,它使用Google Cloud Endpoints在设备之间同步数据。目前在每个API调用中,GCM消息将被发送到所有其他设备。通常,设备不仅可以进行一次api通话,而且可以直接通过多个通话。在这种情况下,在每个呼叫中发送消息的效率非常低,因为所有其他设备都会进行多次呼叫以获取新数据,而不是全部呼叫。在AppEngine中合并多个GCM消息
所以我的想法基本上是一个API调用后等待~10秒,然后发送一个GCM消息。每当一个新的电话进来,计时器重新设置。
我的问题是我真的不知道如何在AppEngine中做到这一点。我的第一个想法是一个TaskQueue,其任务命名方式有10秒延迟。在API调用中,我检查任务是否在队列中,如果是,我将其删除并插入一个新的。这是不可能的,因为即使任务不再存在,任务名称也不能再次使用。
谢谢我让客户告诉服务器哪一次是最后一次调用。 – 2013-03-07 08:08:18