Switch to using Instance key as the channel_id, since there seems to be an undocumented length limit.
This commit is contained in:
@@ -89,6 +89,7 @@ class Instance(db.Model):
|
||||
# parent=Client
|
||||
|
||||
id_ = db.StringProperty(required=True)
|
||||
active = db.BooleanProperty(required=True, default=False)
|
||||
|
||||
@classmethod
|
||||
@db.transactional()
|
||||
@@ -112,11 +113,6 @@ class Instance(db.Model):
|
||||
else:
|
||||
return cls(parent=client, id_=instance_id).put()
|
||||
|
||||
def SendMessage(self, msg):
|
||||
channel.send_message(
|
||||
str(self.parent_key()) + '/' + self.id_,
|
||||
json.dumps(msg, default=utils.EncodeJSON))
|
||||
|
||||
|
||||
class Subject(db.Model):
|
||||
|
||||
@@ -231,7 +227,7 @@ class Subject(db.Model):
|
||||
obj, subscriptions = self.PutMessage(message, sender, sender_message_id, key)
|
||||
event = obj.ToEvent()
|
||||
for subscription in subscriptions:
|
||||
subscription.instance.SendMessage(event)
|
||||
subscription.SendMessage(event)
|
||||
|
||||
def ToDict(self):
|
||||
ret = {
|
||||
@@ -284,6 +280,12 @@ class Subscription(db.Model):
|
||||
for subscription in subscriptions:
|
||||
subscription.delete()
|
||||
|
||||
def SendMessage(self, msg):
|
||||
instance_key = Subscription.instance.get_value_for_datastore(self)
|
||||
channel.send_message(
|
||||
str(instance_key),
|
||||
json.dumps(msg, default=utils.EncodeJSON))
|
||||
|
||||
|
||||
class Message(db.Model):
|
||||
# parent=Subject
|
||||
|
||||
Reference in New Issue
Block a user