我有一個Android應用程序,它使用Google Cloud Endpoints在設備之間同步數據。目前在每個API調用中,GCM消息將被髮送到所有其他設備。通常,設備不僅可以進行一次api通話,而且可以直接通過多個通話。在這種情況下,在每個呼叫中發送消息的效率非常低,因爲所有其他設備都會進行多次呼叫以獲取新數據,而不是全部呼叫。在AppEngine中合併多個GCM消息
所以我的想法基本上是一個API調用後等待~10秒,然後發送一個GCM消息。每當一個新的電話進來,計時器重新設置。
我的問題是我真的不知道如何在AppEngine中做到這一點。我的第一個想法是一個TaskQueue,其任務命名方式有10秒延遲。在API調用中,我檢查任務是否在隊列中,如果是,我將其刪除並插入一個新的。這是不可能的,因爲即使任務不再存在,任務名稱也不能再次使用。
謝謝我讓客戶告訴服務器哪一次是最後一次調用。 – 2013-03-07 08:08:18