我想使用频道 api 推送更新以打开页面,到目前为止我所做的是将页面客户端 id 存储在 ndb 中 - 我已经包含了代码摘要
我的问题是:如何管理已关闭的页面和过期的令牌?
这是将更新推送到许多打开页面的最佳方式吗?
打开页面代码:
import webapp2
import uuid
from google.appengine.api import channel
from google.appengine.ext import ndb
class Frame(ndb.Model):
clientID = ndb.StringProperty()
date = ndb.DateTimeProperty(auto_now_add=True)
class MainHandler(BaseHandler):
def get(self):
client_id = str(uuid.uuid4())
channel_token = channel.create_channel(client_id)
frame = Frame(clientID = client_id)
frame.put()
self.render_response('home.html',** "token":channel_token,"client_id":client_id)
发送消息代码:
from google.appengine.api import channel
from google.appengine.ext import ndb
class Frame(ndb.Model):
clientID = ndb.StringProperty()
date = ndb.DateTimeProperty(auto_now_add=True)
frames = Frame.query().fetch(10)
for i in frames:
channel.send_message(i.clientID, "some message to update")