+1 Channels is probably the most overhyped but underwhelming feature on GAE. It was launched with lots of hype and high expectations. Still after 2 years to is mostly unusable. GAE team is better off killing Channels as a feature to free up resources and focus on delivering websockets.
On Sunday, September 2, 2012 1:16:42 AM UTC-7, Aleksei Rovenski wrote: > > Hi, > > I have to agree with Pascal. Channel API has too many issues and though I > have worked around most of them to a certain degree when it started to be > good enough, I would not repeat this if I would be still planning my > application. Some more issues that I can easily add to the list above: > > - doesn't support batch sending (if you want to broadcast same message) > Note that the cost you see in the dashboard for Channel API is not the > full cost. You also have to consider that your instances will spend some > time sending the messages. Usually the API call to send a message takes > 20-40 millis, but on occasions it can take a couple of seconds. And if you > are broadcasting your instances may end up spending most of the time doing > sendMessage calls.. > There is an issue for that, please star it: > http://code.google.com/p/googleappengine/issues/detail?id=4506 > > - 400 SID errors > Usually it doesn't happen too often, but sometimes you will get them right > after your client connected and then again... > There is an issue for that, feel free to star it: > http://code.google.com/p/googleappengine/issues/detail?id=4940 > > - 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.. > > - Quota of 60 connects per minute (1 per sec) > If I succeed, it won't be enough for my app. I have no idea how responsive > is google in increasing the quota.. > > +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 :( > > PS. I'm trying out Pusher and it looks good. > PSS. I still like Appengine, but Channel API is really not ready for > production apps. > > суббота, 1 сентября 2012 г., 7:32:56 UTC+3 пользователь Kristopher Giesing > написал: >> >> >> >> On Friday, August 31, 2012 12:29:20 PM UTC-7, Pascal Patry wrote: >>> >>> 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 >>> >> >> Argh, seriously? That is a huge problem for me :( >> >> >>> 2. No API is available to mobile >>> >> >> I worked around this by embedding the jsapi code in my application. It >> seems to work fine... so far. >> >> >>> 3. The implementation is different from the test and production server >>> >> >> Yes, that is a pain. I had to add a wrapper class to my application to >> choose between embedded test and prod implementations dynamically. >> >> >>> 4. Connection/Disconnection handlers aren't reliably called >>> >> >> Are you talking about this? If so it was fixed: >> http://code.google.com/p/googleappengine/issues/detail?id=7098 >> >> The fix isn't public yet but there's a patch in the thread. >> >> - Kris >> >> -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
