--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
Hi,
Channels on AppEngine are picky. There are multiple issues that I had to
work around for an application that is currently in production:
1. Channels aren't working on backends
2. No API is available to mobile
3. The implementation is different from the test and production server
4. Connection/Disconnection handlers aren't reliably called
I think they know this, which is why there are “Endpoints” which aren’t the same thing but are described for the same use cases, and suck in their own special way.
--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/xxXmgwM8N0gJ.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
I just escalated this bug to the Channel engineering team.
>
> - Sometimes channels are just dead
> You create a channel, there are no errors or anything, but no matter how
> many messages you send, it just won't receive any. The token is still valid,
> so your client can try to reconnect, but it won't help, it has to create a
> new channel with a new token. But how to detect this kind of issue until it
> is too late and user has left your app for good? The problem is sometimes
> channel takes 20+ seconds before it receives messages..
Is it similar to
http://code.google.com/p/googleappengine/issues/detail?id=7239 ?
If yes, can you comment with more details about your application
(appids, logs, etc).
>
> +1 for presence notifications are extremely unreliable
> To a degree that I had to duplicate them, my app sends its own callbacks.
> What is unreliable you may ask? Disconnect notification for example may come
> *minutes* after. So my client already handled the situation and connected to
> another channel long ago. If I would have waited for presence notification,
> I would have lost the user. Or even worse on some days the notification may
> not come at all.
> And because you can never be totally sure that you have not missed something
> or channel doesn't give you a new trick, I had to add shamefull lazy polling
> to make sure my users are still connected :(
Is it similar to
http://code.google.com/p/googleappengine/issues/detail?id=5975 or
something else?
> PS. One final thing I forgot to mention about Channel API problems is that
> it seems some of the users simply can not load the channel javascript lib
> which is hosted by google... What the hell...
Are you refererring to:
http://code.google.com/p/googleappengine/issues/detail?id=4764
Or something else?
> 3. The implementation is different from the test and production server
Care to elaborate? (file new Defect if necessary)
Hmm not sure. Consider the following use case: client connects to a channel, some time later he goes offline and comes back, client sees that the token is still valid and reconnects, so far so good. Now on the server I'm tracking the list of connected users. Obviously what I expect is a connected presence, then when user goes offline - disconnected and finally when he is reconnected - connected again. In practice it could easily be connected, again connected and then disconnected. When that disconnected presence comes I have no way of knowing if this one is the missing between 2 previous connected presences or this one is fresh and the missing one is still coming. Maybe add some kind of counter that would be increased with each presence?