チャネル 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")